Systems and methods for cryptographic authentication of contactless cards

ABSTRACT

Example embodiments of systems and methods for data transmission between a contactless card, a client application, and a server are provided. The memory of the contactless card may include a first card number table storing a first plurality of card numbers, each card number associated with a user account. A first applet may cycle through the first card number table and transmit each of the first plurality of card numbers to a second applet. In response to detection of one or more gestures by the card, the client application may read one or more of the first plurality of card numbers from the second applet and transmit a verification request associated with the one or more read card numbers to the server, which may compare the one or more read card numbers to a number from a second card number table and transmit a verification determination to authenticate the card.

CROSS REFERENCE TO RELATED APPLICATION

The subject application is a continuation of U.S. patent applicationSer. No. 16/591,247 filed Oct. 2, 2019, which is a continuation in partof U.S. patent application Ser. No. 16/205,119 filed Nov. 29, 2018,which claims the benefit of U.S. Provisional Patent Application No.62/740,352 filed Oct. 2, 2018, the contents of which are herebyincorporated by reference in their entireties.

FIELD OF THE INVENTION

The present disclosure relates to cryptography, and more particularly,to systems and methods for the cryptographic authentication ofcontactless cards.

BACKGROUND

Data security and transaction integrity are of critical importance tobusinesses and consumers. This need continues to grow as electronictransactions constitute an increasingly large share of commercialactivity.

Email may be used as a tool to verify transactions, but email issusceptible to attack and vulnerable to hacking or other unauthorizedaccess. Short message service (SMS) messages may also be used, but thatis subject to compromise as well. Moreover, even data encryptionalgorithms, such as triple DES algorithms, have similar vulnerabilities.

Activating many cards, including for example financial cards (e.g.,credit cards and other payment cards), involves the time-consumingprocess of cardholders calling a telephone number or visiting a websiteand entering or otherwise providing card information. Further, while thegrowing use of chip-based financial cards provides more secure featuresover the previous technology (e.g., magnetic strip cards) for in-personpurchases, account access still may rely on log-in credentials (e.g.,username and password) to confirm a cardholder's identity. However, ifthe log-in credentials are compromised, another person could have accessto the user's account.

These and other deficiencies exist. Accordingly, there is a need toprovide users with an appropriate solution that overcomes thesedeficiencies to provide data security, authentication, and verificationfor contactless cards. Further, there is a need for both an improvedmethod of activating a card and an improved authentication for accountaccess.

SUMMARY

Aspects of the disclosed technology include systems and methods forcryptographic authentication of contactless cards. Various embodimentsdescribe systems and methods for implementing and managing cryptographicauthentication of contactless cards.

Embodiments of the present disclosure provide a secure card systemcomprising: a contactless card including a processor and a memory,wherein the memory comprises: a first card number table storing a firstplurality of card numbers, each card number associated with a useraccount, a first applet in data communication with a second applet,wherein the first applet is configured to cycle through the first cardnumber table and transmit each of the first plurality of card numbers tothe second applet; a client application comprising instructions forexecution on a client device, wherein the client application is in datacommunication with the contactless card; and a server in datacommunication with the client application, the server including a memorycomprising a second card number table storing a second plurality of cardnumbers, wherein, in response to the detection of one or more gesturesby the contactless card, the client application is configured to readone or more of the first plurality of card numbers from the secondapplet of the contactless card and transmit a verification requestassociated with the one or more read card numbers to the server, whereinthe server is configured to compare the one or more read card numbersfrom the first card number table to one or more card numbers from thesecond card number table and generate a verification determination, andwherein the server is configured to authenticate the contactless cardbased on the verification determination and transmit the verificationdetermination to the client application.

Embodiments of the present disclosure provide a method of transitioningcard identifiers by a contactless card comprising: providing thecontactless card including a processor, and a memory, wherein the memorycomprises a first applet in communication with a second applet;generating, by the first applet, a first list including a firstplurality of card identifiers, each card identifier associated with auser account; cycling, by the first applet, through the first list andtransmitting each of the first plurality of card identifiers from thefirst applet to the second applet; detecting, by a client application,one or more gestures by the contactless card; reading, by the clientapplication, one or more of the first plurality of card identifiers fromthe second applet of the contactless card; transmitting, by the clientapplication, a verification request associated with the one or more readcard identifiers to a server, the server comprising a memory containinga second list including a second plurality of card identifiers;evaluating, by the server, the one or more read card identifiers fromthe first list to one or more card identifiers from the second list andgenerating a verification determination based on the evaluation;transmitting the verification determination to the client application;and authenticating the contactless card based on the verificationdetermination.

Embodiments of the present disclosure provide a contactless cardcomprising: a processor; and a memory, wherein the memory comprises: afirst card number table storing a first plurality of card numbers, eachcard number associated with a user account, and a first applet in datacommunication with a second applet, wherein the first applet isconfigured to cycle through the first card number table and transmiteach of the first plurality of card numbers to the second applet.

Further features of the disclosed design, and the advantages offeredthereby, are explained in greater detail hereinafter with reference tospecific example embodiments illustrated in the accompanying drawings,wherein like elements are indicated by like reference designators.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a diagram of a data transmission system according to anexample embodiment.

FIG. 1B is a diagram illustrating a sequence for providing authenticatedaccess according to an example embodiment.

FIG. 2 is a diagram of a data transmission system according to anexample embodiment.

FIG. 3 is a diagram of a system using a contactless card according to anexample embodiment.

FIG. 4 is a flowchart illustrating a method of key diversificationaccording to an example embodiment.

FIG. 5A is an illustration of a contactless card according to an exampleembodiment.

FIG. 5B is an illustration of a contact pad of the contactless cardaccording to an example embodiment.

FIG. 6 is an illustration depicting a message to communicate with adevice according to an example embodiment.

FIG. 7 is an illustration depicting a message and a message formataccording to an example embodiment.

FIG. 8 is a flowchart illustrating key operations according to anexample embodiment.

FIG. 9 is a diagram of a key system according to an example embodiment.

FIG. 10 is a flowchart of a method of generating a cryptogram accordingto an example embodiment.

FIG. 11 is a flowchart illustrating a process of key diversificationaccording to an example embodiment.

FIG. 12 is a flowchart illustrating a method for card activationaccording to an example embodiment.

FIG. 13 is a secure card system according to an example embodiment.

FIG. 14 is a flowchart illustrating a method of transitioning cardidentifiers by a contactless card according to an example embodiment.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

The following description of embodiments provides non-limitingrepresentative examples referencing numerals to particularly describefeatures and teachings of different aspects of the invention. Theembodiments described should be recognized as capable of implementationseparately, or in combination, with other embodiments from thedescription of the embodiments. A person of ordinary skill in the artreviewing the description of embodiments should be able to learn andunderstand the different described aspects of the invention. Thedescription of embodiments should facilitate understanding of theinvention to such an extent that other implementations, not specificallycovered but within the knowledge of a person of skill in the art havingread the description of embodiments, would be understood to beconsistent with an application of the invention.

An objective of some embodiments of the present disclosure is to buildone or more keys into one or more contactless cards. In theseembodiments, the contactless card can perform authentication andnumerous other functions that may otherwise require the user to carry aseparate physical token in addition to the contactless card. Byemploying a contactless interface, contactless cards may be providedwith a method to interact and communicate between a user's device (suchas a mobile phone) and the card itself. For example, the EMV protocol,which underlies many credit card transactions, includes anauthentication process which suffices for operating systems for Android®but presents challenges for iOS®, which is more restrictive regardingnear field communication (NFC) usage, as it can be used only in aread-only manner. Exemplary embodiments of the contactless cardsdescribed herein utilize NFC technology.

FIG. 1A illustrates a data transmission system according to an exampleembodiment. As further discussed below, system 100 may includecontactless card 105, client device 110, network 115, and server 120.Although FIG. 1A illustrates single instances of the components, system100 may include any number of components.

System 100 may include one or more contactless cards 105, which arefurther explained below with reference to FIGS. 5A-5B. In someembodiments, contactless card 105 may be in wireless communication,utilizing NFC in an example, with client device 110.

System 100 may include client device 110, which may be a network-enabledcomputer. As referred to herein, a network-enabled computer may include,but is not limited to a computer device, or communications deviceincluding, e.g., a server, a network appliance, a personal computer, aworkstation, a phone, a handheld PC, a personal digital assistant, athin client, a fat client, an Internet browser, or other device. Clientdevice 110 also may be a mobile device; for example, a mobile device mayinclude an iPhone, iPod, iPad from Apple® or any other mobile devicerunning Apple's iOS® operating system, any device running Microsoft'sWindows® Mobile operating system, any device running Google's Android®operating system, and/or any other smartphone, tablet, or like wearablemobile device.

The client device 110 device can include a processor and a memory, andit is understood that the processing circuitry may contain additionalcomponents, including processors, memories, error and parity/CRCcheckers, data encoders, anticollision algorithms, controllers, commanddecoders, security primitives and tamperproofing hardware, as necessaryto perform the functions described herein. The client device 110 mayfurther include a display and input devices. The display may be any typeof device for presenting visual information such as a computer monitor,a flat panel display, and a mobile device screen, including liquidcrystal displays, light-emitting diode displays, plasma panels, andcathode ray tube displays. The input devices may include any device forentering information into the user's device that is available andsupported by the user's device, such as a touch-screen, keyboard, mouse,cursor-control device, touch-screen, microphone, digital camera, videorecorder or camcorder. These devices may be used to enter informationand interact with the software and other devices described herein.

In some examples, client device 110 of system 100 may execute one ormore applications, such as software applications, that enable, forexample, network communications with one or more components of system100 and transmit and/or receive data.

Client device 110 may be in communication with one or more servers 120via one or more networks 115, and may operate as a respective front-endto back-end pair with server 120. Client device 110 may transmit, forexample from a mobile device application executing on client device 110,one or more requests to server 120. The one or more requests may beassociated with retrieving data from server 120. Server 120 may receivethe one or more requests from client device 110. Based on the one ormore requests from client device 110, server 120 may be configured toretrieve the requested data from one or more databases (not shown).Based on receipt of the requested data from the one or more databases,server 120 may be configured to transmit the received data to clientdevice 110, the received data being responsive to one or more requests.

System 100 may include one or more networks 115. In some examples,network 115 may be one or more of a wireless network, a wired network orany combination of wireless network and wired network, and may beconfigured to connect client device 110 to server 120. For example,network 115 may include one or more of a fiber optics network, a passiveoptical network, a cable network, an Internet network, a satellitenetwork, a wireless local area network (LAN), a Global System for MobileCommunication, a Personal Communication Service, a Personal AreaNetwork, Wireless Application Protocol, Multimedia Messaging Service,Enhanced Messaging Service, Short Message Service, Time DivisionMultiplexing based systems, Code Division Multiple Access based systems,D-AMPS, Wi-Fi, Fixed Wireless Data, IEEE 802.11b, 802.15.1, 802.11n and802.11g, Bluetooth, NFC, Radio Frequency Identification (RFID), Wi-Fi,and/or the like.

In addition, network 115 may include, without limitation, telephonelines, fiber optics, IEEE Ethernet 902.3, a wide area network, awireless personal area network, a LAN, or a global network such as theInternet. In addition, network 115 may support an Internet network, awireless communication network, a cellular network, or the like, or anycombination thereof. Network 115 may further include one network, or anynumber of the exemplary types of networks mentioned above, operating asa stand-alone network or in cooperation with each other. Network 115 mayutilize one or more protocols of one or more network elements to whichthey are communicatively coupled. Network 115 may translate to or fromother protocols to one or more protocols of network devices. Althoughnetwork 115 is depicted as a single network, it should be appreciatedthat according to one or more examples, network 115 may comprise aplurality of interconnected networks, such as, for example, theInternet, a service provider's network, a cable television network,corporate networks, such as credit card association networks, and homenetworks.

System 100 may include one or more servers 120. In some examples, server120 may include one or more processors, which are coupled to memory.Server 120 may be configured as a central system, server or platform tocontrol and call various data at different times to execute a pluralityof workflow actions. Server 120 may be configured to connect to the oneor more databases. Server 120 may be connected to at least one clientdevice 110.

FIG. 1B is a timing diagram illustrating an example sequence forproviding authenticated access according to one or more embodiments ofthe present disclosure. System 100 may comprise contactless card 105 andclient device 110, which may include an application 122 and processor124. FIG. 1B may reference similar components as illustrated in FIG. 1A.

At step 102, the application 122 communicates with the contactless card105 (e.g., after being brought near the contactless card 105).Communication between the application 122 and the contactless card 105may involve the contactless card 105 being sufficiently close to a cardreader (not shown) of the client device 110 to enable NFC data transferbetween the application 122 and the contactless card 105.

At step 104, after communication has been established between clientdevice 110 and contactless card 105, the contactless card 105 generatesa message authentication code (MAC) cryptogram. In some examples, thismay occur when the contactless card 105 is read by the application 122.In particular, this may occur upon a read, such as an NFC read, of anear field data exchange (NDEF) tag, which may be created in accordancewith the NFC Data Exchange Format. For example, a reader, such asapplication 122, may transmit a message, such as an applet selectmessage, with the applet ID of an NDEF producing applet. Uponconfirmation of the selection, a sequence of select file messagesfollowed by read file messages may be transmitted. For example, thesequence may include “Select Capabilities file”, “Read Capabilitiesfile”, and “Select NDEF file”. At this point, a counter value maintainedby the contactless card 105 may be updated or incremented, which may befollowed by “Read NDEF file.” At this point, the message may begenerated which may include a header and a shared secret. Session keysmay then be generated. The MAC cryptogram may be created from themessage, which may include the header and the shared secret. The MACcryptogram may then be concatenated with one or more blocks of randomdata, and the MAC cryptogram and a random number (RND) may be encryptedwith the session key. Thereafter, the cryptogram and the header may beconcatenated, and encoded as ASCII hex and returned in NDEF messageformat (responsive to the “Read NDEF file” message).

In some examples, the MAC cryptogram may be transmitted as an NDEF tag,and in other examples the MAC cryptogram may be included with a uniformresource indicator (e.g., as a formatted string).

In some examples, application 122 may be configured to transmit arequest to contactless card 105, the request comprising an instructionto generate a MAC cryptogram.

At step 106, the contactless card 105 sends the MAC cryptogram to theapplication 122. In some examples, the transmission of the MACcryptogram occurs via NFC, however, the present disclosure is notlimited thereto. In other examples, this communication may occur viaBluetooth, Wi-Fi, or other means of wireless data communication.

At step 108, the application 122 communicates the MAC cryptogram to theprocessor 124.

At step 112, the processor 124 verifies the MAC cryptogram pursuant toan instruction from the application 122. For example, the MAC cryptogrammay be verified, as explained below.

In some examples, verifying the MAC cryptogram may be performed by adevice other than client device 110, such as a server 120 in datacommunication with the client device 110 (as shown in FIG. 1A). Forexample, processor 124 may output the MAC cryptogram for transmission toserver 120, which may verify the MAC cryptogram.

In some examples, the MAC cryptogram may function as a digital signaturefor purposes of verification. Other digital signature algorithms, suchas public key asymmetric algorithms, e.g., the Digital SignatureAlgorithm and the RSA algorithm, or zero knowledge protocols, may beused to perform this verification.

FIG. 2 illustrates a data transmission system according to an exampleembodiment. System 200 may include a transmitting or sending device 205,a receiving or recipient device 210 in communication, for example vianetwork 215, with one or more servers 220. Transmitting or sendingdevice 205 may be the same as, or similar to, client device 110discussed above with reference to FIG. 1A. Receiving or recipient device210 may be the same as, or similar to, client device 110 discussed abovewith reference to FIG. 1A. Network 215 may be similar to network 115discussed above with reference to FIG. 1A. Server 220 may be similar toserver 120 discussed above with reference to FIG. 1A. Although FIG. 2shows single instances of components of system 200, system 200 mayinclude any number of the illustrated components.

When using symmetric cryptographic algorithms, such as encryptionalgorithms, hash-based message authentication code (HMAC) algorithms,and cipher-based message authentication code (CMAC) algorithms, it isimportant that the key remain secret between the party that originallyprocesses the data that is protected using a symmetric algorithm and thekey, and the party who receives and processes the data using the samecryptographic algorithm and the same key.

It is also important that the same key is not used too many times. If akey is used or reused too frequently, that key may be compromised. Eachtime the key is used, it provides an attacker an additional sample ofdata which was processed by the cryptographic algorithm using the samekey. The more data which the attacker has which was processed with thesame key, the greater the likelihood that the attacker may discover thevalue of the key. A key used frequently may be comprised in a variety ofdifferent attacks.

Moreover, each time a symmetric cryptographic algorithm is executed, itmay reveal information, such as side-channel data, about the key usedduring the symmetric cryptographic operation. Side-channel data mayinclude minute power fluctuations which occur as the cryptographicalgorithm executes while using the key. Sufficient measurements may betaken of the side-channel data to reveal enough information about thekey to allow it to be recovered by the attacker. Using the same key forexchanging data would repeatedly reveal data processed by the same key.

However, by limiting the number of times a particular key will be used,the amount of side-channel data which the attacker is able to gather islimited and thereby reduce exposure to this and other types of attack.As further described herein, the parties involved in the exchange ofcryptographic information (e.g., sender and recipient) can independentlygenerate keys from an initial shared master symmetric key in combinationwith a counter value, and thereby periodically replace the sharedsymmetric key being used with needing to resort to any form of keyexchange to keep the parties in sync. By periodically changing theshared secret symmetric key used by the sender and the recipient, theattacks described above are rendered impossible.

Referring back to FIG. 2 , system 200 may be configured to implement keydiversification. For example, a sender and recipient may desire toexchange data (e.g., original sensitive data) via respective devices 205and 210. As explained above, although single instances of transmittingdevice 205 and receiving device 210 may be included, it is understoodthat one or more transmitting devices 205 and one or more receivingdevices 210 may be involved so long as each party shares the same sharedsecret symmetric key. In some examples, the transmitting device 205 andreceiving device 210 may be provisioned with the same master symmetrickey. Further, it is understood that any party or device holding the samesecret symmetric key may perform the functions of the transmittingdevice 205 and similarly any party holding the same secret symmetric keymay perform the functions of the receiving device 210. In some examples,the symmetric key may comprise the shared secret symmetric key which iskept secret from all parties other than the transmitting device 205 andthe receiving device 210 involved in exchanging the secure data. It isfurther understood that both the transmitting device 205 and receivingdevice 210 may be provided with the same master symmetric key, andfurther that part of the data exchanged between the transmitting device205 and receiving device 210 comprises at least a portion of data whichmay be referred to as the counter value. The counter value may comprisea number that changes each time data is exchanged between thetransmitting device 205 and the receiving device 210.

System 200 may include one or more networks 215. In some examples,network 215 may be one or more of a wireless network, a wired network orany combination of wireless network and wired network, and may beconfigured to connect one or more transmitting devices 205 and one ormore receiving devices 210 to server 220. For example, network 215 mayinclude one or more of a fiber optics network, a passive opticalnetwork, a cable network, an Internet network, a satellite network, awireless LAN, a Global System for Mobile Communication, a PersonalCommunication Service, a Personal Area Network, Wireless ApplicationProtocol, Multimedia Messaging Service, Enhanced Messaging Service,Short Message Service, Time Division Multiplexing based systems, CodeDivision Multiple Access based systems, D-AMPS, Wi-Fi, Fixed WirelessData, IEEE 802.11b, 802.15.1, 802.11n and 802.11g, Bluetooth, NFC, RFID,Wi-Fi, and/or the like.

In addition, network 215 may include, without limitation, telephonelines, fiber optics, IEEE Ethernet 902.3, a wide area network, awireless personal area network, a LAN, or a global network such as theInternet. In addition, network 215 may support an Internet network, awireless communication network, a cellular network, or the like, or anycombination thereof. Network 215 may further include one network, or anynumber of the exemplary types of networks mentioned above, operating asa stand-alone network or in cooperation with each other. Network 215 mayutilize one or more protocols of one or more network elements to whichthey are communicatively coupled. Network 215 may translate to or fromother protocols to one or more protocols of network devices. Althoughnetwork 215 is depicted as a single network, it should be appreciatedthat according to one or more examples, network 215 may comprise aplurality of interconnected networks, such as, for example, theInternet, a service provider's network, a cable television network,corporate networks, such as credit card association networks, and homenetworks.

In some examples, one or more transmitting devices 205 and one or morereceiving devices 210 may be configured to communicate and transmit andreceive data between each other without passing through network 215. Forexample, communication between the one or more transmitting devices 205and the one or more receiving devices 210 may occur via at least one ofNFC, Bluetooth, RFID, Wi-Fi, and/or the like.

At block 225, when the transmitting device 205 is preparing to processthe sensitive data with symmetric cryptographic operation, the sendermay update a counter. In addition, the transmitting device 205 mayselect an appropriate symmetric cryptographic algorithm, which mayinclude at least one of a symmetric encryption algorithm, HMACalgorithm, and a CMAC algorithm. In some examples, the symmetricalgorithm used to process the diversification value may comprise anysymmetric cryptographic algorithm used as needed to generate the desiredlength diversified symmetric key. Non-limiting examples of the symmetricalgorithm may include a symmetric encryption algorithm such as 3DES orAES128; a symmetric HMAC algorithm, such as HMAC-SHA-256; and asymmetric CMAC algorithm such as AES-CMAC. It is understood that if theoutput of the selected symmetric algorithm does not generate asufficiently long key, techniques such as processing multiple iterationsof the symmetric algorithm with different input data and the same masterkey may produce multiple outputs which may be combined as needed toproduce sufficient length keys.

At block 230, the transmitting device 205 may take the selectedcryptographic algorithm, and using the master symmetric key, process thecounter value. For example, the sender may select a symmetric encryptionalgorithm, and use a counter which updates with every conversationbetween the transmitting device 205 and the receiving device 210. Thetransmitting device 205 may then encrypt the counter value with theselected symmetric encryption algorithm using the master symmetric key,creating a diversified symmetric key.

In some examples, the counter value may not be encrypted. In theseexamples, the counter value may be transmitted between the transmittingdevice 205 and the receiving device 210 at block 230 without encryption.

At block 235, the diversified symmetric key may be used to process thesensitive data before transmitting the result to the receiving device210. For example, the transmitting device 205 may encrypt the sensitivedata using a symmetric encryption algorithm using the diversifiedsymmetric key, with the output comprising the protected encrypted data.The transmitting device 205 may then transmit the protected encrypteddata, along with the counter value, to the receiving device 210 forprocessing.

At block 240, the receiving device 210 may first take the counter valueand then perform the same symmetric encryption using the counter valueas input to the encryption, and the master symmetric key as the key forthe encryption. The output of the encryption may be the same diversifiedsymmetric key value that was created by the sender.

At block 245, the receiving device 210 may then take the protectedencrypted data and using a symmetric decryption algorithm along with thediversified symmetric key, decrypt the protected encrypted data.

At block 250, as a result of the decrypting the protected encrypteddata, the original sensitive data may be revealed.

The next time sensitive data needs to be sent from the sender to therecipient via respective transmitting device 205 and receiving device210, a different counter value may be selected producing a differentdiversified symmetric key. By processing the counter value with themaster symmetric key and same symmetric cryptographic algorithm, boththe transmitting device 205 and receiving device 210 may independentlyproduce the same diversified symmetric key. This diversified symmetrickey, not the master symmetric key, is used to protect the sensitivedata.

As explained above, both the transmitting device 205 and receivingdevice 210 each initially possess the shared master symmetric key. Theshared master symmetric key is not used to encrypt the originalsensitive data. Because the diversified symmetric key is independentlycreated by both the transmitting device 205 and receiving device 210, itis never transmitted between the two parties. Thus, an attacker cannotintercept the diversified symmetric key and the attacker never sees anydata which was processed with the master symmetric key. Only the countervalue is processed with the master symmetric key, not the sensitivedata. As a result, reduced side-channel data about the master symmetrickey is revealed. Moreover, the operation of the transmitting device 205and the receiving device 210 may be governed by symmetric requirementsfor how often to create a new diversification value, and therefore a newdiversified symmetric key. In an embodiment, a new diversification valueand therefore a new diversified symmetric key may be created for everyexchange between the transmitting device 205 and receiving device 210.

In some examples, the key diversification value may comprise the countervalue. Other non-limiting examples of the key diversification valueinclude: a random nonce generated each time a new diversified key isneeded, the random nonce sent from the transmitting device 205 to thereceiving device 210; the full value of a counter value sent from thetransmitting device 205 and the receiving device 210; a portion of acounter value sent from the transmitting device 205 and the receivingdevice 210; a counter independently maintained by the transmittingdevice 205 and the receiving device 210 but not sent between the twodevices; a one-time-passcode exchanged between the transmitting device205 and the receiving device 210; and a cryptographic hash of thesensitive data. In some examples, one or more portions of the keydiversification value may be used by the parties to create multiplediversified keys. For example, a counter may be used as the keydiversification value. Further, a combination of one or more of theexemplary key diversification values described above may be used.

In another example, a portion of the counter may be used as the keydiversification value. If multiple master key values are shared betweenthe parties, the multiple diversified key values may be obtained by thesystems and processes described herein. A new diversification value, andtherefore a new diversified symmetric key, may be created as often asneeded. In the most secure case, a new diversification value may becreated for each exchange of sensitive data between the transmittingdevice 205 and the receiving device 210. In effect, this may create aone-time use key, such as a single-use session key.

FIG. 3 illustrates a system 300 using a contactless card. System 300 mayinclude a contactless card 305, one or more client devices 310, network315, servers 320, 325, one or more hardware security modules 330, and adatabase 335. Although FIG. 3 illustrates single instances of thecomponents, system 300 may include any number of components.

System 300 may include one or more contactless cards 305, which arefurther explained below with respect to FIGS. 5A-5B. In some examples,contactless card 305 may be in wireless communication, for example NFCcommunication, with client device 310. For example, contactless card 305may comprise one or more chips, such as a radio frequency identificationchip, configured to communication via NFC or other short-rangeprotocols. In other embodiments, contactless card 305 may communicatewith client device 310 through other means including, but not limitedto, Bluetooth, satellite, Wi-Fi, wired communications, and/or anycombination of wireless and wired connections. According to someembodiments, contactless card 305 may be configured to communicate withcard reader 313 of client device 310 through NFC when contactless card305 is within range of card reader 313. In other examples,communications with contactless card 305 may be accomplished through aphysical interface, e.g., a universal serial bus interface or a cardswipe interface.

System 300 may include client device 310, which may be a network-enabledcomputer. As referred to herein, a network-enabled computer may include,but is not limited to: e.g., a computer device, or communications deviceincluding, e.g., a server, a network appliance, a personal computer, aworkstation, a mobile device, a phone, a handheld PC, a personal digitalassistant, a thin client, a fat client, an Internet browser, or otherdevice. One or more client devices 310 also may be a mobile device; forexample, a mobile device may include an iPhone, iPod, iPad from Apple®or any other mobile device running Apple's iOS® operating system, anydevice running Microsoft's Windows® Mobile operating system, any devicerunning Google's Android® operating system, and/or any other smartphoneor like wearable mobile device. In some examples, the client device 310may be the same as, or similar to, a client device 110 as described withreference to FIG. 1A or FIG. 1B.

Client device 310 may be in communication with one or more servers 320and 325 via one or more networks 315. Client device 310 may transmit,for example from an application 311 executing on client device 310, oneor more requests to one or more servers 320 and 325. The one or morerequests may be associated with retrieving data from one or more servers320 and 325. Servers 320 and 325 may receive the one or more requestsfrom client device 310. Based on the one or more requests from clientdevice 310, one or more servers 320 and 325 may be configured toretrieve the requested data from one or more databases 335. Based onreceipt of the requested data from the one or more databases 335, one ormore servers 320 and 325 may be configured to transmit the received datato client device 310, the received data being responsive to one or morerequests.

System 300 may include one or more hardware security modules (HSM) 330.For example, one or more HSMs 330 may be configured to perform one ormore cryptographic operations as disclosed herein. In some examples, oneor more HSMs 330 may be configured as special purpose security devicesthat are configured to perform the one or more cryptographic operations.The HSMs 330 may be configured such that keys are never revealed outsidethe HSM 330, and instead are maintained within the HSM 330. For example,one or more HSMs 330 may be configured to perform at least one of keyderivations, decryption, and MAC operations. The one or more HSMs 330may be contained within, or may be in data communication with, servers320 and 325.

System 300 may include one or more networks 315. In some examples,network 315 may be one or more of a wireless network, a wired network orany combination of wireless network and wired network, and may beconfigured to connect client device 315 to server 320 and 325. Forexample, network 315 may include one or more of a fiber optics network,a passive optical network, a cable network, a cellular network, anInternet network, a satellite network, a wireless LAN, a Global Systemfor Mobile Communication, a Personal Communication Service, a PersonalArea Network, Wireless Application Protocol, Multimedia MessagingService, Enhanced Messaging Service, Short Message Service, TimeDivision Multiplexing based systems, Code Division Multiple Access basedsystems, D-AMPS, Wi-Fi, Fixed Wireless Data, IEEE 802.11b, 802.15.1,802.11n and 802.11g, Bluetooth, NFC, RFID, Wi-Fi, and/or any combinationof networks thereof. As a non-limiting example, communications fromcontactless card 305 and client device 310 may comprise NFCcommunication, cellular network between client device 310 and a carrier,and Internet between the carrier and a back-end.

In addition, network 315 may include, without limitation, telephonelines, fiber optics, IEEE Ethernet 902.3, a wide area network, awireless personal area network, a local area network, or a globalnetwork such as the Internet. In addition, network 315 may support anInternet network, a wireless communication network, a cellular network,or the like, or any combination thereof. Network 315 may further includeone network, or any number of the exemplary types of networks mentionedabove, operating as a stand-alone network or in cooperation with eachother. Network 315 may utilize one or more protocols of one or morenetwork elements to which they are communicatively coupled. Network 315may translate to or from other protocols to one or more protocols ofnetwork devices. Although network 315 is depicted as a single network,it should be appreciated that according to one or more examples, network315 may comprise a plurality of interconnected networks, such as, forexample, the Internet, a service provider's network, a cable televisionnetwork, corporate networks, such as credit card association networks,and home networks.

In various examples according to the present disclosure, client device310 of system 300 may execute one or more applications 311, and includeone or more processors 312, and one or more card readers 313. Forexample, one or more applications 311, such as software applications,may be configured to enable, for example, network communications withone or more components of system 300 and transmit and/or receive data.It is understood that although only single instances of the componentsof client device 310 are illustrated in FIG. 3 , any number of devices310 may be used. Card reader 313 may be configured to read from and/orcommunicate with contactless card 305. In conjunction with the one ormore applications 311, card reader 313 may communicate with contactlesscard 305.

The application 311 of any of client device 310 may communicate with thecontactless card 305 using short-range wireless communication (e.g.,NFC). The application 311 may be configured to interface with a cardreader 313 of client device 310 configured to communicate with acontactless card 305. As should be noted, those skilled in the art wouldunderstand that a distance of less than twenty centimeters is consistentwith NFC range.

In some embodiments, the application 311 communicates through anassociated reader (e.g., card reader 313) with the contactless card 305.

In some embodiments, card activation may occur without userauthentication. For example, a contactless card 305 may communicate withthe application 311 through the card reader 313 of the client device 310through NFC. The communication (e.g., a tap of the card proximate thecard reader 313 of the client device 310) allows the application 311 toread the data associated with the card and perform an activation. Insome cases, the tap may activate or launch application 311 and theninitiate one or more actions or communications with an account server325 to activate the card for subsequent use. In some cases, if theapplication 311 is not installed on client device 310, a tap of the cardagainst the card reader 313 may initiate a download of the application311 (e.g., navigation to an application download page). Subsequent toinstallation, a tap of the card may activate or launch the application311, and then initiate (e.g., via the application or other back-endcommunication) activation of the card. After activation, the card may beused in various transactions including commercial transactions.

According to some embodiments, the contactless card 305 may include avirtual payment card. In those embodiments, the application 311 mayretrieve information associated with the contactless card 305 byaccessing a digital wallet implemented on the client device 310, whereinthe digital wallet includes the virtual payment card. In some examples,virtual payment card data may include one or more static or dynamicallygenerated virtual card numbers.

Server 320 may comprise a web server in communication with database 335.Server 325 may comprise an account server. In some examples, server 320may be configured to validate one or more credentials from contactlesscard 305 and/or client device 310 by comparison with one or morecredentials in database 335. Server 325 may be configured to authorizeone or more requests, such as payment and transaction, from contactlesscard 305 and/or client device 310.

FIG. 4 illustrates a method 400 of key diversification according to anexample of the present disclosure. Method 400 may include a transmittingdevice and receiving device similar to transmitting device 205 andreceiving device 210 referenced in FIG. 2 .

For example, a sender and recipient may desire to exchange data (e.g.,original sensitive data) via a transmitting device and a receivingdevice. As explained above, although these two parties may be included,it is understood that one or more transmitting devices and one or morereceiving devices may be involved so long as each party shares the sameshared secret symmetric key. In some examples, the transmitting deviceand receiving device may be provisioned with the same master symmetrickey. Further, it is understood that any party or device holding the samesecret symmetric key may perform the functions of the transmittingdevice and similarly any party holding the same secret symmetric key mayperform the functions of the receiving device. In some examples, thesymmetric key may comprise the shared secret symmetric key which is keptsecret from all parties other than the transmitting device and thereceiving device involved in exchanging the secure data. It is furtherunderstood that both the transmitting device and receiving device may beprovided with the same master symmetric key, and further that part ofthe data exchanged between the transmitting device and receiving devicecomprises at least a portion of data which may be referred to as thecounter value. The counter value may comprise a number that changes eachtime data is exchanged between the transmitting device and the receivingdevice.

At block 410, a transmitting device and receiving device may beprovisioned with the same master key, such as the same master symmetrickey. When the transmitting device is preparing to process the sensitivedata with symmetric cryptographic operation, the sender may update acounter. In addition, the transmitting device may select an appropriatesymmetric cryptographic algorithm, which may include at least one of asymmetric encryption algorithm, HMAC algorithm, and a CMAC algorithm. Insome examples, the symmetric algorithm used to process thediversification value may comprise any symmetric cryptographic algorithmused as needed to generate the desired length diversified symmetric key.Non-limiting examples of the symmetric algorithm may include a symmetricencryption algorithm such as 3DES or AES128; a symmetric HMAC algorithm,such as HMAC-SHA-256; and a symmetric CMAC algorithm, such as AES-CMAC.It is understood that if the output of the selected symmetric algorithmdoes not generate a sufficiently long key, techniques such as processingmultiple iterations of the symmetric algorithm with different input dataand the same master key may produce multiple outputs which may becombined as needed to produce sufficient length keys.

The transmitting device may take the selected cryptographic algorithm,and using the master symmetric key, process the counter value. Forexample, the sender may select a symmetric encryption algorithm, and usea counter which updates with every conversation between the transmittingdevice and the receiving device.

At block 420, the transmitting device may then encrypt the counter valuewith the selected symmetric encryption algorithm using the mastersymmetric key, creating a diversified symmetric key. The diversifiedsymmetric key may be used to process the sensitive data beforetransmitting the result to the receiving device. For example, thetransmitting device may encrypt the sensitive data using a symmetricencryption algorithm using the diversified symmetric key, with theoutput comprising the protected encrypted data. The transmitting devicemay then transmit the protected encrypted data, along with the countervalue, to the receiving device for processing. In some examples, acryptographic operation other than encryption may be performed, and aplurality of cryptographic operations may be performed using thediversified symmetric keys prior to transmittal of the protected data.

In some examples, the counter value may not be encrypted. In theseexamples, the counter value may be transmitted between the transmittingdevice and the receiving device at block 420 without encryption.

At block 430, sensitive data may be protected using one or morecryptographic algorithms and the diversified keys. The diversifiedsession keys, which may be created by the key diversification which usesthe counter, may be used with one or more cryptographic algorithms toprotect the sensitive data. For example, data may be processed by a MACusing a first diversified session key, and the resulting output may beencrypted using the second diversified session key producing theprotected data.

At block 440, the receiving device may perform the same symmetricencryptions using the counter value as input to the encryptions and themaster symmetric keys as the keys for the encryption. The output of theencryptions may be the same diversified symmetric key values that werecreated by the sender. For example, the receiving device mayindependently create its own copies of the first and second diversifiedsession keys using the counter. Then, the receiving device may decryptthe protected data using the second diversified session key to revealthe output of the MAC created by the transmitting device. The receivingdevice may then process the resultant data through the MAC operationusing the first diversified session key.

At block 450, the receiving device may use the diversified keys with oneor more cryptographic algorithms to validate the protected data.

At block 460, the original data may be validated. If the output of theMAC operation (via the receiving device using the first diversifiedsession key) matches the MAC output revealed by decryption, then thedata may be deemed valid.

The next time sensitive data needs to be sent from the transmittingdevice to the receiving device, a different counter value may beselected, which produces a different diversified symmetric key. Byprocessing the counter value with the master symmetric key and samesymmetric cryptographic algorithm, both the transmitting device andreceiving device may independently produce the same diversifiedsymmetric key. This diversified symmetric key, not the master symmetrickey, is used to protect the sensitive data.

As explained above, both the transmitting device and receiving deviceeach initially possess the shared master symmetric key. The sharedmaster symmetric key is not used to encrypt the original sensitive data.Because the diversified symmetric key is independently created by boththe transmitting device and receiving device, it is never transmittedbetween the two parties. Thus, an attacker cannot intercept thediversified symmetric key and the attacker never sees any data which wasprocessed with the master symmetric key. Only the small counter value isprocessed with the master symmetric key, not the sensitive data. As aresult, reduced side-channel data about the master symmetric key isrevealed. Moreover, the sender and the recipient may agree, for exampleby prior arrangement or other means, how often to create a newdiversification value, and therefore a new diversified symmetric key. Inan embodiment, a new diversification value and therefore a newdiversified symmetric key may be created for every exchange between thetransmitting device and receiving device.

In some examples, the key diversification value may comprise the countervalue. Other non-limiting examples of the key diversification valueinclude: a random nonce generated each time a new diversified key isneeded, the random nonce sent from the transmitting device to thereceiving device; the full value of a counter value sent from thetransmitting device and the receiving device; a portion of a countervalue sent from the transmitting device and the receiving device; acounter independently maintained by the transmitting device and thereceiving device but not sent between the two; a one-time-passcodeexchanged between the transmitting device and the receiving device;cryptographic hash of the sensitive data. In some examples, one or moreportions of the key diversification value may be used by the parties tocreate multiple diversified keys. For example, a counter may be used asthe key diversification value.

In another example, a portion of the counter may be used as the keydiversification value. If multiple master key values are shared betweenthe parties, the multiple diversified key values may be obtained by thesystem and processes described herein. A new diversification value, andtherefore a new diversified symmetric key, may be created as often asneeded. In the most secure case, a new diversification value may becreated for each exchange of sensitive data between the transmittingdevice and the receiving device. In effect, this may create a one-timeuse key, such as a single session key.

In other examples, such as to limit the number of times of use of themaster symmetric key, it may be agreed upon by the sender oftransmitting device and recipient of the receiving device that a newdiversification value, and therefore a new diversified symmetric key,will happen only periodically. In one example, this may be after apre-determined number of uses, such as every 10 transmissions betweenthe transmitting device and the receiving device. In another example,this may be after a certain time period, a certain time period after atransmission, or on a periodic basis (e.g., daily at a designated time;weekly at a designated time on a designated day). In another example,this may be every time the receiving device signals to the transmittingdevice that it desires to change the key on the next communication. Thismay be controlled on policy and may be varied due to, for example, thecurrent risk level perceived by the recipient of the receiving device.

FIG. 5A illustrates one or more contactless cards 500, which maycomprise a payment card, such as a credit card, debit card, or giftcard, issued by a service provider 505 displayed on the front or back ofthe card 500. In some examples, the contactless card 500 is not relatedto a payment card, and may comprise, without limitation, anidentification card. In some examples, the payment card may comprise adual interface contactless payment card. The contactless card 500 maycomprise a substrate 510, which may include a single layer or one ormore laminated layers composed of plastics, metals, and other materials.Exemplary substrate materials include polyvinyl chloride, polyvinylchloride acetate, acrylonitrile butadiene styrene, polycarbonate,polyesters, anodized titanium, palladium, gold, carbon, paper, andbiodegradable materials. In some examples, the contactless card 500 mayhave physical characteristics compliant with the ID-1 format of theISO/IEC 7810 standard, and the contactless card may otherwise becompliant with the ISO/IEC 14443 standard. However, it is understoodthat the contactless card 500 according to the present disclosure mayhave different characteristics, and the present disclosure does notrequire a contactless card to be implemented in a payment card.

The contactless card 500 may also include identification information 515displayed on the front and/or back of the card, and a contact pad 520.The contact pad 520 may be configured to establish contact with anothercommunication device, such as a user device, smart phone, laptop,desktop, or tablet computer. The contactless card 500 may also includeprocessing circuitry, antenna and other components not shown in FIG. 5A.These components may be located behind the contact pad 520 or elsewhereon the substrate 510. The contactless card 500 may also include amagnetic strip or tape, which may be located on the back of the card(not shown in FIG. 5A).

As illustrated in FIG. 5B, the contact pad 520 of FIG. 5A may includeprocessing circuitry 525 for storing and processing information,including a microprocessor 530 and a memory 535. It is understood thatthe processing circuitry 525 may contain additional components,including processors, memories, error and parity/CRC checkers, dataencoders, anticollision algorithms, controllers, command decoders,security primitives and tamperproofing hardware, as necessary to performthe functions described herein.

The memory 535 may be a read-only memory, write-once read-multiplememory or read/write memory, e.g., RAM, ROM, and EEPROM, and thecontactless card 500 may include one or more of these memories. Aread-only memory may be factory programmable as read-only or one-timeprogrammable. One-time programmability provides the opportunity to writeonce then read many times. A write once/read-multiple memory may beprogrammed at a point in time after the memory chip has left thefactory. Once the memory is programmed, it may not be rewritten, but itmay be read many times. A read/write memory may be programmed andre-programmed many times after leaving the factory. It may also be readmany times.

The memory 535 may be configured to store one or more applets 540, oneor more counters 545, and a customer identifier 550. The one or moreapplets 540 may comprise one or more software applications configured toexecute on one or more contactless cards, such as Java Card applet.However, it is understood that applets 540 are not limited to Java Cardapplets, and instead may be any software application operable oncontactless cards or other devices having limited memory. The one ormore counters 545 may comprise a numeric counter sufficient to store aninteger. The customer identifier 550 may comprise a unique alphanumericidentifier assigned to a user of the contactless card 500, and theidentifier may distinguish the user of the contactless card from othercontactless card users. In some examples, the customer identifier 550may identify both a customer and an account assigned to that customerand may further identify the contactless card associated with thecustomer's account.

The processor and memory elements of the foregoing exemplary embodimentsare described with reference to the contact pad, but the presentdisclosure is not limited thereto. It is understood that these elementsmay be implemented outside of the pad 520 or entirely separate from it,or as further elements in addition to processor 530 and memory 535elements located within the contact pad 520.

In some examples, the contactless card 500 may comprise one or moreantennas 555. The one or more antennas 555 may be placed within thecontactless card 500 and around the processing circuitry 525 of thecontact pad 520. For example, the one or more antennas 555 may beintegral with the processing circuitry 525 and the one or more antennas555 may be used with an external booster coil. As another example, theone or more antennas 555 may be external to the contact pad 520 and theprocessing circuitry 525.

In an embodiment, the coil of contactless card 500 may act as thesecondary of an air core transformer. The terminal may communicate withthe contactless card 500 by cutting power or amplitude modulation. Thecontactless card 500 may infer the data transmitted from the terminalusing the gaps in the contactless card's power connection, which may befunctionally maintained through one or more capacitors. The contactlesscard 500 may communicate back by switching a load on the contactlesscard's coil or load modulation. Load modulation may be detected in theterminal's coil through interference.

As explained above, the contactless cards 500 may be built on a softwareplatform operable on smart cards or other devices having limited memory,such as JavaCard, and one or more or more applications or applets may besecurely executed. Applets may be added to contactless cards to providea one-time password (OTP) for multifactor authentication (MFA) invarious mobile application-based use cases. Applets may be configured torespond to one or more requests, such as near field data exchangerequests, from a reader, such as a mobile NFC reader, and produce anNDEF message that comprises a cryptographically secure OTP encoded as anNDEF text tag.

FIG. 6 illustrates NDEF short-record layout (SR=1) 600 according to anexample embodiment. One or more applets may be configured to encode theOTP as an NDEF type 4 well known type text tag. In some examples, NDEFmessages may comprise one or more records. The applets may be configuredto add one or more static tag records in addition to the OTP record.Exemplary tags include, without limitation, Tag type: well known type,text, encoding English (en); Applet ID: D2760000850101; Capabilities:read-only access; Encoding: the authentication message may be encoded asASCII hex; type-length-value (TLV) data may be provided as apersonalization parameter that may be used to generate the NDEF message.In an embodiment, the authentication template may comprise the firstrecord, with a well-known index for providing the actual dynamicauthentication data.

FIG. 7 illustrates a message 710 and a message format 720 according toan example embodiment. In one example, if additional tags are to beadded, the first byte may change to indicate message begin, but not end,and a subsequent record may be added. Because ID length is zero, IDlength field and ID are omitted from the record. An example message mayinclude: UDK AUT key; Derived AUT session key (using 0x00000050);Version 1.0; pATC=0x00000050; RND=4838FB7DC171B89E; MAC=<eight computedbytes>.

In some examples, data may be stored in the contactless card atpersonalization time by implementing STORE DATA (E2) under securechannel protocol 2. One or more values may be read by thepersonalization bureau from the EMBOSS files (in a section designated bythe Applet ID) and one or more store data commands may be transmitted tothe contactless card after authentication and secure channelestablishment.

pUID may comprise a 16-digit BCD encoded number. In some examples, pUIDmay comprise 14 digits.

Length Item (bytes) Encrypted? Notes pUID 8 No AutKey 16 Yes 3DES Keyfor Deriving MAC session keys AutKCV 3 No Key Check Value DEKKey 16 Yes3DES Key for deriving Encryption session key DEKKCV 3 No Key Check ValueCard Shared 4 No 4 Byte True Random number Random bytes (pre-generated)NTLV X No TLV data for NDEF message Bytes

In some examples, the one or more applets may be configured to maintainits personalization state to allow personalization only if unlocked andauthenticated. Other states may comprise standard statespre-personalization. On entering into a terminated state, the one ormore applets may be configured to remove personalization data. In theterminated state, the one or more applets may be configured to stopresponding to all application protocol data unit (APDU) requests.

The one or more applets may be configured to maintain an applet version(2 bytes), which may be used in the authentication message. In someexamples, this may be interpreted as most significant byte majorversion, least significant byte minor version. The rules for each of theversions are configured to interpret the authentication message: Forexample, regarding the major version, this may include that each majorversion comprise a specific authentication message layout and specificalgorithms. For the minor version, this may include no changes to theauthentication message or cryptographic algorithms, and changes tostatic tag content, in addition to bug fixes, security hardening, etc.

In some examples, the one or more applets may be configured to emulatean RFID tag. The RFID tag may include one or more polymorphic tags. Insome examples, each time the tag is read, different cryptographic datais presented that may indicate the authenticity of the contactless card.Based on the one or more applications, an NFC read of the tag may beprocessed, the token may be transmitted to a server, such as a backendserver, and the token may be validated at the server.

In some examples, the contactless card and server may include certaindata such that the card may be properly identified. The contactless cardmay comprise one or more unique identifiers. Each time a read operationtakes place, a counter may be configured to update. In some examples,each time the card is read, it is transmitted to the server forvalidation and determines whether the counter is equal (as part of thevalidation).

The one or more counters may be configured to prevent a replay attack.For example, if a cryptogram has been obtained and replayed, thatcryptogram is immediately rejected if the counter has been read or usedor otherwise passed over. If the counter has not been used, it may bereplayed. In some examples, the counter that is updated on the card isdifferent from the counter that is updated for transactions. In someexamples, the contactless card may comprise a first applet, which may bea transaction applet, and a second applet. Each applet may comprise acounter.

In some examples, the counter may get out of sync between thecontactless card and one or more servers. For example, the contactlesscard may be activated causing the counter to be updated and a newcommunication to be generated by the contactless card, but thecommunication may be not be transmitted for processing at the one ormore servers. This may cause the counter of the contactless card and thecounter maintained at the one or more servers to get out of sync. Thismay occur unintentionally including, for example, where a card is storedadjacent to a device (e.g., carried in a pocket with a device) and wherethe contactless card is read at an angle may include the card beingmisaligned or not positioned such that the contactless card is poweredup an the NFC field but is not readable. If the contactless card ispositioned adjacent to a device, the device's NFC field may be turned onto power the contactless card causing the counter therein to be updated,but no application on the device receives the communication.

To keep the counter in sync, an application, such as a backgroundapplication, may be executed that would be configured to detect when themobile device wakes up and synchronize with the one or more serversindicating that a read that occurred due to detection to then move thecounter forward. Since the counters of the contactless card and the oneor more servers may get out of sync, the one or more servers may beconfigured to allow the counter of the contactless card to be updated athreshold or predetermined number of times before it is read by the oneor more servers and still be considered valid. For example, if thecounter is configured to increment (or decrement) by one for eachoccurrence indicating activation of the contactless card, the one ormore servers may allow any counter value it reads from the contactlesscard as valid, or any counter value within a threshold range (e.g., from1 to 10). Moreover, the one or more servers may be configured to requesta gesture associated with the contactless card, such as a user tap, ifit reads a counter value which has advanced beyond 10, but below anotherthreshold range value (such as 1000). From the user tap, if the countervalue is within a desired or acceptance range, authentication succeeds.

FIG. 8 is a flowchart illustrating key operations 800 according to anexample embodiment. As illustrated in FIG. 8 , at block 810, two bankidentifier number (BIN) level master keys may be used in conjunctionwith the account identifier and card sequence number to produce twounique derived keys (UDKs) per card. In some examples, a bank identifiernumber may comprise one number or a combination of one or more numbers,such as an account number or an unpredictable number provided by one ormore servers, may be used for session key generation and/ordiversification. The UDKs (AUTKEY and ENCKEY) may be stored on the cardduring the personalization process.

At block 820, the counter may be used as the diversification data, sinceit changes with each use and provides a different session key each time,as opposed to the master key derivation in which one unique set of keysper card is produced. In some examples, it is preferable to use the4-byte method for both operations. Accordingly, at block 820, twosession keys may be created for each transaction from the UDKs, i.e.,one session key from AUTKEY and one session key from ENCKEY. In thecard, for the MAC key (i.e., the session key created from AUTKEY), thelow order of two bytes of the OTP counter may be used fordiversification. For the ENC key (i.e., the session key created fromENCKEY), the full length of the OTP counter may be used for the ENC key.

At block 830, the MAC key may be used for preparing the MAC cryptogram,and the ENC key may be used to encrypt the cryptogram. For example, theMAC session key may be used to prepare the cryptogram, and the resultmay be encrypted with the ENC key before it is transmitted to the one ormore servers.

At block 840, verification and processing of the MAC is simplifiedbecause 2-byte diversification is directly supported in the MACauthentication functions of payment HSMs. Decryption of the cryptogramis performed prior to verification of the MAC. The session keys areindependently derived at the one or more servers, resulting in a firstsession key (the ENC session key) and a second session key (the MACsession key). The second derived key (i.e., the ENC session key) may beused to decrypt the data, and the first derived key (i.e., the MACsession key) may be used to verify the decrypted data.

For the contactless card, a different unique identifier is derived whichmay be related to the application primary account number (PAN) and PANsequence number, which is encoded in the card. The key diversificationmay be configured to receive the identifier as input with the master keysuch that one or more keys may be created for each contactless card. Insome examples, these diversified keys may comprise a first key and asecond key. The first key may include an authentication master key (CardCryptogram Generation/Authentication Key—Card-Key-Auth), and may befurther diversified to create a MAC session key used when generating andverifying a MAC cryptogram. The second key may comprise an encryptionmaster key (Card Data Encryption Key—Card-Key-DEK), and may be furtherdiversified to create an ENC session key used when encrypting anddecrypting enciphered data. In some examples, the first and the secondkeys may be created by diversifying the issuer master keys by combiningthem with the card's unique ID number (pUID) and the PAN sequence number(PSN) of a payment applet. The pUID may comprise a 16-digit numericalvalue. As explained above, pUID may comprise a 16 digit BCD encodednumber. In some examples, pUID may comprise a 14-digit numerical value.

In some examples, since the EMV session key derivation method may wrapat 2{circumflex over ( )}16 uses, the counter such as the full 32-bitcounter may be added to the initialization arrays of the diversificationmethod.

In other examples, such as credit cards, a number, such as an accountnumber or an unpredictable number provided by one or more servers, maybe used for session key generation and/or diversification.

FIG. 9 illustrates a diagram of a system 900 configured to implement oneor more embodiments of the present disclosure. As explained below,during the contactless card creation process, two cryptographic keys maybe assigned uniquely for each card. The cryptographic keys may comprisesymmetric keys which may be used in both encryption and decryption ofdata. Triple DES (3DES) algorithm may be used by EMV and it isimplemented by hardware in the contactless card. By using a keydiversification process, one or more keys may be derived from a masterkey based upon uniquely identifiable information for each entity thatrequires a key.

Regarding master key management, two issuer master keys 905, 910 may berequired for each part of the portfolio on which the one or more appletsis issued. For example, the first master key 905 may comprise an IssuerCryptogram Generation/Authentication Key (Iss-Key-Auth) and the secondmaster key 910 may comprise an Issuer Data Encryption Key (Iss-Key-DEK).As further explained herein, two issuer master keys 905, 910 arediversified into card master keys 925, 930, which are unique for eachcard. In some examples, a network profile record ID (pNPR) 915 andderivation key index (pDKI) 920, as back office data, may be used toidentify which Issuer Master Keys 905, 910 to use in the cryptographicprocesses for authentication. The system performing the authenticationmay be configured to retrieve values of pNPR 915 and pDKI 920 for acontactless card at the time of authentication.

In some examples, to increase the security of the solution, a sessionkey may be derived (such as a unique key per session) but rather thanusing the master key, the unique card-derived keys and the counter maybe used as diversification data, as explained above. For example, eachtime the card is used in operation, a different key may be used forcreating the message authentication code (MAC) and for performing theencryption. Regarding session key generation, the keys used to generatethe cryptogram and encipher the data in the one or more applets maycomprise session keys based on the card unique keys (Card-Key-Auth 925and Card-Key-Dek 930). The session keys (Aut-Session-Key 935 andDEK-Session-Key 940) may be generated by the one or more applets andderived by using the application transaction counter (pATC) 945 with oneor more algorithms. To fit data into the one or more algorithms, onlythe 2 low order bytes of the 4-byte pATC 945 is used. In some examples,the four byte session key derivation method may comprise: F1:=PATC(lower2 bytes)∥‘F0’∥‘00’∥PATC (four bytes) F1:=PATC(lower 2bytes)∥‘0F’∥‘00’∥PATC (four bytes) SK:={(ALG (MK) [F1])∥ALG (MK) [F2]},where ALG may include 3DES ECB and MK may include the card uniquederived master key.

As described herein, one or more MAC session keys may be derived usingthe lower two bytes of pATC 945 counter. At each tap of the contactlesscard, pATC 945 is configured to be updated, and the card master keysCard-Key-AUTH 925 and Card-Key-DEK 930 are further diversified into thesession keys Aut-Session-Key 935 and DEK-Session-KEY 940. pATC 945 maybe initialized to zero at personalization or applet initialization time.In some examples, the pATC counter 945 may be initialized at or beforepersonalization, and may be configured to increment by one at each NDEFread.

Further, the update for each card may be unique, and assigned either bypersonalization, or algorithmically assigned by pUID or otheridentifying information. For example, odd numbered cards may incrementor decrement by 2 and even numbered cards may increment or decrement by5. In some examples, the update may also vary in sequential reads, suchthat one card may increment in sequence by 1, 3, 5, 2, 2, . . .repeating. The specific sequence or algorithmic sequence may be definedat personalization time, or from one or more processes derived fromunique identifiers. This can make it harder for a replay attacker togeneralize from a small number of card instances.

The authentication message may be delivered as the content of a textNDEF record in hexadecimal ASCII format. In some examples, only theauthentication data and an 8-byte random number followed by MAC of theauthentication data may be included. In some examples, the random numbermay precede cryptogram A and may be one block long. In other examples,there may be no restriction on the length of the random number. Infurther examples, the total data (i.e., the random number plus thecryptogram) may be a multiple of the block size. In these examples, anadditional 8-byte block may be added to match the block produced by theMAC algorithm. As another example, if the algorithms employed used16-byte blocks, even multiples of that block size may be used, or theoutput may be automatically, or manually, padded to a multiple of thatblock size.

The MAC may be performed by a function key (AUT-Session-Key) 935. Thedata specified in cryptogram may be processed with javacard.signaturemethod: ALG_DES_MAC8_ISO9797_1_M2_ALG3 to correlate to EMV ARQCverification methods. The key used for this computation may comprise asession key AUT-Session-Key 935, as explained above. As explained above,the low order two bytes of the counter may be used to diversify for theone or more MAC session keys. As explained below, AUT-Session-Key 935may be used to MAC data 950, and the resulting data or cryptogram A 955and random number RND may be encrypted using DEK-Session-Key 940 tocreate cryptogram B or output 960 sent in the message.

In some examples, one or more HSM commands may be processed fordecrypting such that the final 16 (binary, 32 hex) bytes may comprise a3DES symmetric encrypting using CBC mode with a zero IV of the randomnumber followed by MAC authentication data. The key used for thisencryption may comprise a session key DEK-Session-Key 940 derived fromthe Card-Key-DEK 930. In this case, the ATC value for the session keyderivation is the least significant byte of the counter pATC 945.

The format below represents a binary version example embodiment.Further, in some examples, the first byte may be set to ASCII ‘A’.

Message Format 1 2 4 8 8 0x43 (Message Type ‘A’) Version pATC RNDCryptogram A (MAC) Cryptogram A (MAC) 8 bytes MAC of 2 8 4 4 18 bytesinput data Version pUID pATC Shared Secret Message Format 1 2 4 16 0x43(Message Type ‘A’) Version pATC Cryptogram B Cryptogram A (MAC) 8 bytesMAC of 2 8 4 4 18 bytes input data Version pUID pATC Shared SecretCryptogram B 16 Sym Encryption of 8 8 RND Cryptogram A

Another exemplary format is shown below. In this example, the tag may beencoded in hexadecimal format.

Message Format 2 8 4 8 8 Version pUID pATC RND Cryptogram A (MAC) 8bytes 8 8 4 4 18 bytes input data pUID pUID pATC Shared Secret MessageFormat 2 8 4 16 Version pUID pATC Cryptogram B 8 bytes 8 4 4 18 bytesinput data pUID pUID pATC Shared Secret Cryptogram B 16 Sym Encryptionof 8 8 RND Cryptogram A

The UID field of the received message may be extracted to derive, frommaster keys Iss-Key-AUTH 905 and Iss-Key-DEK 910, the card master keys(Card-Key-Auth 925 and Card-Key-DEK 930) for that particular card. Usingthe card master keys (Card-Key-Auth 925 and Card-Key-DEK 930), thecounter (pATC) field of the received message may be used to derive thesession keys (Aut-Session-Key 935 and DEK-Session-Key 940) for thatparticular card. Cryptogram B 960 may be decrypted using theDEK-Session-KEY, which yields cryptogram A 955 and RND, and RND may bediscarded. The UID field may be used to look up the shared secret of thecontactless card which, along with the Ver, UID, and pATC fields of themessage, may be processed through the cryptographic MAC using there-created Aut-Session-Key to create a MAC output, such as MAC′. If MAC′is the same as cryptogram A 955, then this indicates that the messagedecryption and MAC checking have all passed. Then the pATC may be readto determine if it is valid.

During an authentication session, one or more cryptograms may begenerated by the one or more applications. For example, the one or morecryptograms may be generated as a 3DES MAC using ISO 9797-1 Algorithm 3with Method 2 padding via one or more session keys, such asAut-Session-Key 935. The input data 950 may take the following form:Version (2), pUID (8), pATC (4), Shared Secret (4). In some examples,the numbers in the brackets may comprise length in bytes. In someexamples, the shared secret may be generated by one or more randomnumber generators which may be configured to ensure, through one or moresecure processes, that the random number is unpredictable. In someexamples, the shared secret may comprise a random 4-byte binary numberinjected into the card at personalization time that is known by theauthentication service. During an authentication session, the sharedsecret may not be provided from the one or more applets to the mobileapplication. Method 2 padding may include adding a mandatory 0x′80′ byteto the end of input data and 0x′00′ bytes that may be added to the endof the resulting data up to the 8-byte boundary. The resultingcryptogram may comprise 8 bytes in length.

In some examples, one benefit of encrypting an unshared random number asthe first block with the MAC cryptogram, is that it acts as aninitialization vector while using CBC (Block chaining) mode of thesymmetric encryption algorithm. This allows the “scrambling” from blockto block without having to pre-establish either a fixed or dynamic IV.

By including the application transaction counter (pATC) as part of thedata included in the MAC cryptogram, the authentication service may beconfigured to determine if the value conveyed in the clear data has beentampered with. Moreover, by including the version in the one or morecryptograms, it is difficult for an attacker to purposefullymisrepresent the application version in an attempt to downgrade thestrength of the cryptographic solution. In some examples, the pATC maystart at zero and be updated by 1 each time the one or more applicationsgenerates authentication data. The authentication service may beconfigured to track the pATCs used during authentication sessions. Insome examples, when the authentication data uses a pATC equal to orlower than the previous value received by the authentication service,this may be interpreted as an attempt to replay an old message, and theauthenticated may be rejected. In some examples, where the pATC isgreater than the previous value received, this may be evaluated todetermine if it is within an acceptable range or threshold, and if itexceeds or is outside the range or threshold, verification may be deemedto have failed or be unreliable. In the MAC operation 936, data 950 isprocessed through the MAC using Aut-Session-Key 935 to produce MACoutput (cryptogram A) 955, which is encrypted.

In order to provide additional protection against brute force attacksexposing the keys on the card, it is desirable that the MAC cryptogram955 be enciphered. In some examples, data or cryptogram A 955 to beincluded in the ciphertext may comprise: Random number (8), cryptogram(8). In some examples, the numbers in the brackets may comprise lengthin bytes. In some examples, the random number may be generated by one ormore random number generators which may be configured to ensure, throughone or more secure processes, that the random number is unpredictable.The key used to encipher this data may comprise a session key. Forexample, the session key may comprise DEK-Session-Key 940. In theencryption operation 941, data or cryptogram A 955 and RND are processedusing DEK-Session-Key 940 to produce encrypted data, cryptogram B 960.The data 955 may be enciphered using 3DES in cipher block chaining modeto ensure that an attacker must run any attacks over all of theciphertext. As a non-limiting example, other algorithms, such asAdvanced Encryption Standard (AES), may be used. In some examples, aninitialization vector of 0x′0000000000000000′ may be used. Any attackerseeking to brute force the key used for enciphering this data will beunable to determine when the correct key has been used, as correctlydecrypted data will be indistinguishable from incorrectly decrypted datadue to its random appearance.

In order for the authentication service to validate the one or morecryptograms provided by the one or more applets, the following data mustbe conveyed from the one or more applets to the mobile device in theclear during an authentication session: version number to determine thecryptographic approach used and message format for validation of thecryptogram, which enables the approach to change in the future; pUID toretrieve cryptographic assets, and derive the card keys; and pATC toderive the session key used for the cryptogram.

FIG. 10 illustrates a method 1000 for generating a cryptogram. Forexample, at block 1010, a network profile record ID (pNPR) andderivation key index (pDKI) may be used to identify which Issuer MasterKeys to use in the cryptographic processes for authentication. In someexamples, the method may include performing the authentication toretrieve values of pNPR and pDKI for a contactless card at the time ofauthentication.

At block 1020, Issuer Master Keys may be diversified by combining themwith the card's unique ID number (pUID) and the PAN sequence number(PSN) of one or more applets, for example, a payment applet.

At block 1030, Card-Key-Auth and Card-Key-DEK (unique card keys) may becreated by diversifying the Issuer Master Keys to generate session keyswhich may be used to generate a MAC cryptogram.

At block 1040, the keys used to generate the cryptogram and encipher thedata in the one or more applets may comprise the session keys of block1030 based on the card unique keys (Card-Key-Auth and Card-Key-DEK). Insome examples, these session keys may be generated by the one or moreapplets and derived by using pATC, resulting in session keysAut-Session-Key and DEK-Session-Key.

FIG. 11 depicts an exemplary process 1100 illustrating keydiversification according to one example. Initially, a sender and therecipient may be provisioned with two different master keys. Forexample, a first master key may comprise the data encryption master key,and a second master key may comprise the data integrity master key. Thesender has a counter value, which may be updated at block 1110, andother data, such as data to be protected, which it may secure share withthe recipient.

At block 1120, the counter value may be encrypted by the sender usingthe data encryption master key to produce the data encryption derivedsession key, and the counter value may also be encrypted by the senderusing the data integrity master key to produce the data integrityderived session key. In some examples, a whole counter value or aportion of the counter value may be used during both encryptions.

In some examples, the counter value may not be encrypted. In theseexamples, the counter may be transmitted between the sender and therecipient in the clear, i.e., without encryption.

At block 1130, the data to be protected is processed with acryptographic MAC operation by the sender using the data integritysession key and a cryptographic MAC algorithm. The protected data,including plaintext and shared secret, may be used to produce a MACusing one of the session keys (AUT-Session-Key).

At block 1140, the data to be protected may be encrypted by the senderusing the data encryption derived session key in conjunction with asymmetric encryption algorithm. In some examples, the MAC is combinedwith an equal amount of random data, for example each 8 bytes long, andthen encrypted using the second session key (DEK-Session-Key).

At block 1150, the encrypted MAC is transmitted, from the sender to therecipient, with sufficient information to identify additional secretinformation (such as shared secret, master keys, etc.), for verificationof the cryptogram.

At block 1160, the recipient uses the received counter value toindependently derive the two derived session keys from the two masterkeys as explained above.

At block 1170, the data encryption derived session key is used inconjunction with the symmetric decryption operation to decrypt theprotected data. Additional processing on the exchanged data will thenoccur. In some examples, after the MAC is extracted, it is desirable toreproduce and match the MAC. For example, when verifying the cryptogram,it may be decrypted using appropriately generated session keys. Theprotected data may be reconstructed for verification. A MAC operationmay be performed using an appropriately generated session key todetermine if it matches the decrypted MAC. As the MAC operation is anirreversible process, the only way to verify is to attempt to recreateit from source data.

At block 1180, the data integrity derived session key is used inconjunction with the cryptographic MAC operation to verify that theprotected data has not been modified.

Some examples of the methods described herein may advantageously confirmwhen a successful authentication is determined when the followingconditions are met. First, the ability to verify the MAC shows that thederived session key was proper. The MAC may only be correct if thedecryption was successful and yielded the proper MAC value. Thesuccessful decryption may show that the correctly derived encryption keywas used to decrypt the encrypted MAC. Since the derived session keysare created using the master keys known only to the sender (e.g., thetransmitting device) and recipient (e.g., the receiving device), it maybe trusted that the contactless card which originally created the MACand encrypted the MAC is indeed authentic. Moreover, the counter valueused to derive the first and second session keys may be shown to bevalid and may be used to perform authentication operations.

Thereafter, the two derived session keys may be discarded, and the nextiteration of data exchange will update the counter value (returning toblock 1110) and a new set of session keys may be created (at block1120). In some examples, the combined random data may be discarded.

Example embodiments of systems and methods described herein may beconfigured to provide security factor authentication. The securityfactor authentication may comprise a plurality of processes. As part ofthe security factor authentication, a first process may comprise loggingin and validating a user via one or more applications executing on adevice. As a second process, the user may, responsive to successfullogin and validation of the first process via the one or moreapplications, engage in one or more behaviors associated with one ormore contactless cards. In effect, the security factor authenticationmay include both securely proving identity of the user and engaging inone or more types of behaviors, including but not limited to one or moretap gestures, associated with the contactless card. In some examples,the one or more tap gestures may comprise a tap of the contactless cardby the user to a device. In some examples, the device may comprise amobile device, a kiosk, a terminal, a tablet, or any other deviceconfigured to process a received tap gesture.

In some examples, the contactless card may be tapped to a device, suchas one or more computer kiosks or terminals, to verify identity so as toreceive a transactional item responsive to a purchase, such as a coffee.By using the contactless card, a secure method of proving identity in aloyalty program may be established. Securely proving the identity, forexample, to obtain a reward, coupon, offer, or the like or receipt of abenefit is established in a manner that is different than merelyscanning a bar card. For example, an encrypted transaction may occurbetween the contactless card and the device, which may configured toprocess one or more tap gestures. As explained above, the one or moreapplications may be configured to validate identity of the user and thencause the user to act or respond to it, for example, via one or more tapgestures. In some examples, data for example, bonus points, loyaltypoints, reward points, healthcare information, etc., may be written backto the contactless card.

In some examples, the contactless card may be tapped to a device, suchas a mobile device. As explained above, identity of the user may beverified by the one or more applications which would then grant the usera desired benefit based on verification of the identity.

In some examples, the contactless card may be activated by tapping to adevice, such as a mobile device. For example, the contactless card maycommunicate with an application of the device via a card reader of thedevice through NFC communication. The communication, in which a tap ofthe card proximate the card reader of the device may allow theapplication of the device to read data associated with the contactlesscard and activate the card. In some examples, the activation mayauthorize the card to be used to perform other functions, e.g.,purchases, access account or restricted information, or other functions.In some examples, the tap may activate or launch the application of thedevice and then initiate one or more actions or communications with oneor more servers to activate the contactless card. If the application isnot installed on the device, a tap of the contactless card proximate thecard reader may initiate a download of the application, such asnavigation to a download page of the application). Subsequent toinstallation, a tap of the contactless card may activate or launch theapplication, and then initiate, for example via the application or otherback-end communication), activation of the contactless card. Afteractivation, the contactless card may be used in various activities,including without limitation commercial transactions.

In some embodiments, a dedicated application may be configured toexecute on a client device to perform the activation of the contactlesscard. In other embodiments, a webportal, a web-based app, an applet,and/or the like may perform the activation. Activation may be performedon the client device, or the client device may merely act as a gobetween for the contactless card and an external device (e.g., accountserver). According to some embodiments, in providing activation, theapplication may indicate, to the account server, the type of deviceperforming the activation (e.g., personal computer, smartphone, tablet,or point-of-sale (POS) device). Further, the application may output, fortransmission, different and/or additional data to the account serverdepending on the type of device involved. For example, such data maycomprise information associated with a merchant, such as merchant type,merchant ID, and information associated with the device type itself,such as POS data and POS ID.

In some embodiments, the example authentication communication protocolmay mimic an offline dynamic data authentication protocol of the EMVstandard that is commonly performed between a transaction card and apoint-of-sale device, with some modifications. For example, because theexample authentication protocol is not used to complete a paymenttransaction with a card issuer/payment processor per se, some datavalues are not needed, and authentication may be performed withoutinvolving real-time online connectivity to the card issuer/paymentprocessor. As is known in the art, point of sale (POS) systems submittransactions including a transaction value to a card issuer. Whether theissuer approves or denies the transaction may be based on if the cardissuer recognizes the transaction value. Meanwhile, in certainembodiments of the present disclosure, transactions originating from amobile device lack the transaction value associated with the POSsystems. Therefore, in some embodiments, a dummy transaction value(i.e., a value recognizable to the card issuer and sufficient to allowactivation to occur) may be passed as part of the example authenticationcommunication protocol. POS based transactions may also declinetransactions based on the number of transaction attempts (e.g.,transaction counter). A number of attempts beyond a buffer value mayresult in a soft decline; the soft decline requiring furtherverification before accepting the transaction. In some implementations,a buffer value for the transaction counter may be modified to avoiddeclining legitimate transactions.

In some examples, the contactless card can selectively communicateinformation depending upon the recipient device. Once tapped, thecontactless card can recognize the device to which the tap is directed,and based on this recognition the contactless card can provideappropriate data for that device. This advantageously allows thecontactless card to transmit only the information required to completethe instant action or transaction, such as a payment or cardauthentication. By limiting the transmission of data and avoiding thetransmission of unnecessary data, both efficiency and data security canbe improved. The recognition and selective communication of informationcan be applied to a various scenarios, including card activation,balance transfers, account access attempts, commercial transactions, andstep-up fraud reduction.

If the contactless card tap is directed to a device running Apple's iOS®operating system, e.g., an iPhone, iPod, or iPad, the contactless cardcan recognize the iOS® operating system and transmit data appropriatedata to communicate with this device. For example, the contactless cardcan provide the encrypted identity information necessary to authenticatethe card using NDEF tags via, e.g., NFC. Similarly, if the contactlesscard tap is directed to a device running the Android® operating system,e.g., an Android® smartphone or tablet, the contactless card canrecognize the Android® operating system and transmit appropriate anddata to communicate with this device (such as the encrypted identityinformation necessary for authentication by the methods describedherein).

As another example, the contactless card tap can be directed to a POSdevice, including without limitation a kiosk, a checkout register, apayment station, or other terminal. Upon performance of the tap, thecontactless card can recognize the POS device and transmit only theinformation necessary for the action or transaction. For example, uponrecognition of a POS device used to complete a commercial transaction,the contactless card can communicate payment information necessary tocomplete the transaction under the EMV standard.

In some examples, the POS devices participating in the transaction canrequire or specify additional information, e.g., device-specificinformation, location-specific information, and transaction-specificinformation, that is to be provided by the contactless card. Forexample, once the POS device receives a data communication from thecontactless card, the POS device can recognize the contactless card andrequest the additional information necessary to complete an action ortransaction.

In some examples the POS device can be affiliated with an authorizedmerchant or other entity familiar with certain contactless cards oraccustomed to performing certain contactless card transactions. However,it is understood such an affiliation is not required for the performanceof the described methods.

In some examples, such as a shopping store, grocery store, conveniencestore, or the like, the contactless card may be tapped to a mobiledevice without having to open an application, to indicate a desire orintent to utilize one or more of reward points, loyalty points, coupons,offers, or the like to cover one or more purchases. Thus, an intentionbehind the purchase is provided.

In some examples, the one or more applications may be configured todetermine that it was launched via one or more tap gestures of thecontactless card, such that a launch occurred at 3:51 pm, that atransaction was processed or took place at 3:56 pm, in order to verifyidentity of the user.

In some examples, the one or more applications may be configured tocontrol one or more actions responsive to the one or more tap gestures.For example, the one or more actions may comprise collecting rewards,collecting points, determine the most important purchase, determine theleast costly purchase, and/or reconfigure, in real-time, to anotheraction.

In some examples, data may be collected on tap behaviors asbiometric/gestural authentication. For example, a unique identifier thatis cryptographically secure and not susceptible to interception may betransmitted to one or more backend services. The unique identifier maybe configured to look up secondary information about individual. Thesecondary information may comprise personally identifiable informationabout the user. In some examples, the secondary information may bestored within the contactless card.

In some examples, the device may comprise an application that splitsbills or check for payment amongst a plurality of individuals. Forexample, each individual may possess a contactless card, and may becustomers of the same issuing financial institution, but it is notnecessary. Each of these individuals may receive a push notification ontheir device, via the application, to split the purchase. Rather thanaccepting only one card tap to indicate payment, other contactless cardsmay be used. In some examples, individuals who have different financialinstitutions may possess contactless cards to provide information toinitiate one or more payment requests from the card-tapping individual.

The following example use cases describe examples of particularimplementations of the present disclosure. These are intended solely forexplanatory purposes and not for purposes of limitation. In one case, afirst friend (payor) owes a second friend (payee) a sum of money. Ratherthan going to an ATM or requiring exchange through a peer-to-peerapplication, payor wishes to pay via payee's smartphone (or otherdevice) using a contactless card. Payee logs-on to the appropriateapplication on his smartphone and selects a payment request option. Inresponse, the application requests authentication via payee'scontactless card. For example, the application outputs a displayrequesting that payee tap his contactless card. Once payee taps hiscontactless card against the screen of his smartphone with theapplication enabled, the contactless card is read and verified. Next,the application displays a prompt for payor to tap his contactless cardto send payment. After the payor taps his contactless card, theapplication reads the card information and transmits, via an associatedprocessor, a request for payment to payor's card issuer. The card issuerprocesses the transaction and sends a status indicator of thetransaction to the smartphone. The application then outputs for displaythe status indicator of the transaction.

In another example case, a credit card customer may receive anew creditcard (or debit card, other payment card, or any other card requiringactivation) in the mail. Rather than activating the card by calling aprovided telephone number associated with the card issuer or visiting awebsite, the customer may decide to activate the card via an applicationon his or her device (e.g., a mobile device such as a smartphone). Thecustomer may select the card activation feature from the application'smenu that is displayed on a display of the device. The application mayprompt the customer to tap his or her credit card against the screen.Upon tapping the credit card against the screen of the device, theapplication may be configured to communicate with a server, such as acard issuer server which activates the customer's card. The applicationmay then displays a message indicating successful activation of thecard. The card activation would then be complete.

FIG. 12 illustrates a method 1200 for card activation according to anexample embodiment. For example, card activation may be completed by asystem including a card, a device, and one or more servers. Thecontactless card, device, and one or more servers may reference same orsimilar components that were previously explained above with referenceto FIG. 1A, FIG. 1B, FIG. 5A, and FIG. 5B, such as contactless card 105,client device 110, and server 120.

In block 1210, the card may be configured to dynamically generate data.In some examples, this data may include information such as an accountnumber, card identifier, card verification value, or phone number, whichmay be transmitted from the card to the device. In some examples, one ormore portions of the data may be encrypted via the systems and methodsdisclosed herein.

In block 1220, one or more portions of the dynamically generated datamay be communicated to an application of the device via NFC or otherwireless communication. For example, a tap of the card proximate to thedevice may allow the application of the device to read the one or moreportions of the data associated with the contactless card. In someexamples, if the device does not comprise an application to assist inactivation of the card, the tap of the card may direct the device orprompt the customer to a software application store to download anassociated application to activate the card. In some examples, the usermay be prompted to sufficiently gesture, place, or orient the cardtowards a surface of the device, such as either at an angle or flatlyplaced on, near, or proximate the surface of the device. Responsive to asufficient gesture, placement and/or orientation of the card, the devicemay proceed to transmit the one or more encrypted portions of datareceived from the card to the one or more servers.

In block 1230, the one or more portions of the data may be communicatedto one or more servers, such as a card issuer server. For example, oneor more encrypted portions of the data may be transmitted from thedevice to the card issuer server for activation of the card.

In block 1240, the one or more servers may decrypt the one or moreencrypted portions of the data via the systems and methods disclosedherein. For example, the one or more servers may receive the encrypteddata from the device and may decrypt it in order to compare the receiveddata to record data accessible to the one or more servers. If aresulting comparison of the one or more decrypted portions of the databy the one or more servers yields a successful match, the card may beactivated. If the resulting comparison of the one or more decryptedportions of the data by the one or more servers yields an unsuccessfulmatch, one or more processes may take place. For example, responsive tothe determination of the unsuccessful match, the user may be prompted totap, swipe, or wave gesture the card again. In this case, there may be apredetermined threshold comprising a number of attempts that the user ispermitted to activate the card. Alternatively, the user may receive anotification, such as a message on his or her device indicative of theunsuccessful attempt of card verification and to call, email or text anassociated service for assistance to activate the card, or anothernotification, such as a phone call on his or her device indicative ofthe unsuccessful attempt of card verification and to call, email or textan associated service for assistance to activate the card, or anothernotification, such as an email indicative of the unsuccessful attempt ofcard verification and to call, email or text an associated service forassistance to activate the card.

In block 1250, the one or more servers may transmit a return messagebased on the successful activation of the card. For example, the devicemay be configured to receive output from the one or more serversindicative of a successful activation of the card by the one or moreservers. The device may be configured to display a message indicatingsuccessful activation of the card. Once the card has been activated, thecard may be configured to discontinue dynamically generating data so asto avoid fraudulent use. In this manner, the card may not be activatedthereafter, and the one or more servers are notified that the card hasalready been activated.

In another example case, a customer wants to access his financialaccounts on his or her mobile phone. The customer launches anapplication (e.g., a bank application) on the mobile device and inputs ausername and password. At this stage, the customer may see first-levelaccount information (e.g., recent purchases) and be able to performfirst-level account options (e.g., pay credit-card). However, if theuser attempts to access second-level account information (e.g., spendinglimit) or perform a second-level account option (e.g., transfer toexternal system) he must have a second-factor authentication.Accordingly, the application requests that a user provide a transactioncard (e.g., credit card) for account verification. The user then tapshis credit card to the mobile device, and the application verifies thatthe credit card corresponds to the user's account. Thereafter, the usermay view second-level account data and/or perform second-level accountfunctions.

As the cost of smart cards increase, the cost for replacing a lost,stolen, or damaged card likewise increases. By including a plurality ofcard numbers on the same contactless card, and not printing the numbersdirectly on it, a single contactless card may be configured for re-usein the event that a number is stolen or exposed in a breach online.Thus, this eliminates the need to reissue a new card to the user, theneed for a physical button interface directly on the card, and the needfor utilizing a counter, while increasing security. This allows forreissuance of a new card number without a user needing to request one orto get a new card mailed out. In further examples, a new card number maybe reissued due to consumer request, a current promotion associated withone or more accounts, or to accommodate the transfer of users from onetype of account to another type. In addition, the card numbers may becycled and verified to take corrective action and thereby furtherincrease security to issuing institutions and users.

The systems and methods described herein allow for one or more of theapplets of the contactless card to interface with a transactionalapplet, including but not limited to an EMV payment applet, by cyclingfrom one card number to another pre-loaded primary card account numberwithin it. For example, the applet may comprise a plurality of cardnumbers which are transmitted to the transactional applet when thecontactless card interfaces with a client device via data communication,including but not limited to via NFC, by one or more gestures. Moreover,and as further explained below, users carry more and more credit cardsto advantageously optimize their rewards or points based on usage ofcertain cards at, e.g., different merchant, different purchases orpurchase categories, time-based promotions, and numerous other reasons.A user with multiple credit cards from an issuing institution maygesture the contactless card to a client device using the systems andmethods described herein.

FIG. 13 illustrates a system 1300, such as a counter resynchronizationsystem, comprising a contactless card 1305, a client device 1310, andone or more servers 1320. Although FIG. 13 illustrates single instancesof the components, system 1300 may include any number of components. Thecontactless card 1305, client device 1310, and one or more servers 1320may reference same or similar components that were previously explainedabove with reference to FIG. 1A, FIG. 1B, FIG. 5A, and FIG. 5B, such ascontactless card 105, client device 110, and server 120.

The contactless card 1305 may include one or more processors 1307 and amemory 1309. The memory 1309 may comprise one or more applets, includinga first applet 1311 in communication with a second applet 1313. Thememory 1309 may comprise a first card number table storing a firstplurality of card numbers, each card number may be associated with auser account. The first applet 1311 may be in data communication with asecond applet 1313. The first applet 1311 may be configured to cyclethrough the first card number table and transmit each of the pluralityof card numbers to the second applet 1313.

For example, the user with multiple credit cards from an issuinginstitution may gesture the contactless card 1305 to a client device1310 including but not limited to via a client application of the clientdevice 1310, such that the gesture by the contactless card 1305 to theclient device 1305 is configured to cycle their first card number to asecond card number, gesture again the contactless card 1305 to theclient device 1310 to cycle from the second number to a third number,and gesture again the contactless card 1305 to the client device 1310 tocycle from the third number back to the first card number. The pluralityof card numbers may belong to a first table which may be generated andtransmitted from the first applet 1311 to the second applet 1313. Insome examples, card numbers may be generated from a seed, such as a rootseed, and one or more algorithms may be configured to project, based onthe seed, the next or upcoming card numbers that are to be cycledwithout storing those card numbers so as to prevent unauthorized use orrevelation of the card numbers in advance.

As further explained below, the one or more servers 1320 may beconfigured to utilize a list or table to correctly map the upcoming cardnumbers during the cycling. In some examples, cycling between each ofthe card numbers may be predetermined so as to keep the number on thecard and the number displayed on the client device 1310 via clientapplication in sync. For example, the cycling may be structured in anordered sequence or list, and when one or more of the applets 1311 or1313 is read by the client application of client device 1310, it may beconfigured to automatically iterate to the next number in the orderedsequence or list. In another example, it may be configured toautomatically cycle back to the first number of the ordered sequence orlist if it reaches the end of the ordered sequence or list. Clientapplication of client device 1310 may be configured to recognize whatthe card number was set to such that client device 1310 may display, viaan interface, the card number it was then set to by one or more reads.As explained above, since this is a predictable sequence, clientapplication of client device 1310 may be configured to instruct the userto gesture again the contactless card 1305 to cycle to a particular cardnumber. By way of example, since the contactless card 1305 and server1320 need to be kept in sync for authorization of the transaction,cycling between each of the card numbers may be performed in apredetermined manner. In some examples, the cycling between each of thecard numbers may be performed in a predetermined manner that issequential. In other examples, the cycling between each of the cardnumbers may be performed in a predetermined manner that isnon-sequential. In yet other examples, the cycling between each of thecard numbers may be performed in a predetermined manner that issequential or non-sequential for a first set of card numbers and/orsequential or non-sequential for a second set of card numbers, and/orany combination thereof.

In some examples, one or more gestures from the contactless card 1305 tothe client device 1310 may be utilized to cycle between each of the cardnumbers. For example, the one or more gestures may include one or moreof a tap, swipe, wave, gesture, or any combination thereof. In otherexamples, rather than tapping and cycling multiple times, the user maybe permitted to select which card number to cycle to such that one ormore of applets 1311 or 1313 of contactless card 1305 may be configuredto cycle to the selected card number of a specified card.

Since devices, including but not limited to iOS® devices or clientdevice 1310, support restricted or one-directional reading from NFCtargets, the first applet 1311 may be configured to perform one or moreactions when the NFC read is triggered. In some examples, rather thanupdating a counter, the first applet 1311 may be configured to iterateto the next card number in a cycle. In some examples, the first applet1311 may be configured to iterate to the first card number if cycling isassociated with known cards instead of utilizing extra-use card numbers.In some examples, the contactless card 1305 may be configured tocommunicate the old card number and the new card number. In someexamples, the plurality of card numbers may include but not be limitedto up to twenty card numbers that are cycled through when transitioningfrom one card number to another card number.

The client device 1310 may include one or more processors 1315 and amemory 1317 containing one or more applications or client applicationsfor execution by the processor to perform the functions describedherein. The client device 1310 may be in data communication with thecontactless card 1305 via a communication interface (not shown). Forexample, a client application may comprise instructions for execution ona client device 1310. The client application may be in datacommunication with the contactless card 1305. Upon the one or moregestures by the contactless card 1305 to the client device 1310, theclient application of the client device 1310 may be configured to lookup one or more card numbers in one or more servers 1320 in order toverify these card numbers, as explained below. For example, one or morerequests may be transmitted by the client device 1310 to one or moreservers 1320 to verify the one or more card numbers of the first table.

The one or more servers 1320 may be in data communication with theclient device 1310. The one or more servers 1320 may be configured toperform one or more processes to verify one or more of the card numbersof the first table. The one or more servers 1320 may include a secondcard number table storing a second plurality of card numbers. Inresponse to the detection of one or more gestures by the contactlesscard 1305, the client application may be configured to read one or moreof the first plurality of card numbers from the second applet 1313 ofthe contactless card 1305 and transmit a verification request associatedwith the one or more read card numbers to the one or more servers 1320.For example, the one or more servers 1320 may be configured to receiveone or more requests from a client device 1310 to verify the one or morecard numbers of the first card number table against one or more numbersof the second card number table. In some examples, the one or moreservers 1320 may be configured to compare the one or more read cardnumbers from the first card number table to one or more card numbersfrom the second card number table and generate a verificationdetermination. The one or more servers 1320 may be configured toauthenticate the contactless card 1305 based on the verificationdetermination and transmit the verification determination to the clientapplication of client device 1310.

Responsive to the one or more requests from the client application ofclient device 1310, the one or more servers 1320 may be configured totransmit one or more responses to the client application of clientdevice 1310. The one or more responses to the client application ofclient device 1310 may include information indicative of verification ofthe one or more card numbers. For example, the one or more responses maybe based on a determination of the comparison by the one or more servers1320. In some examples, the determination may yield a successful matchof the numbers between the first and second tables. In other examples,the determination may yield an unsuccessful match of the numbers betweenthe first and second tables.

The one or more responses transmitted from the one or more servers 1320to the client application of client device 1310 may include otherinformation including but not limited to card artwork, card information,transaction information, and account information. In some examples, thecard information may comprise expiration date and CVV information. Insome examples, the information may include interest rate values, paymentdue dates, rewards earning rates and associated categories, and/orrewards balances. For example, the one or more servers 1320 may beconfigured to determine the next card number for cycling of the cardnumbers based on the list or table.

The one or more servers 1320 may be configured to determine if the nextnumber from the second card number table during cycling matches with theexpected number from the first card number table of the contactless card1305. In some examples, the one or more servers 1320 may be configuredto evaluate whether card numbers have been stolen or misused. To theextent that the expected number and the compared number do not match,this activity may be flagged as fraudulent activity. Responsive todetermination of the fraudulent activity, the one or more servers 1320may be configured to provide one or more notifications to the clientapplication of client device 1310 or other devices so as to initiate ortake one or more actions to rectify the problems. Data associated withthe one or more actions for the fraudulent activity may be kept in theone or more servers 1320 for security purposes, including but notlimited to monitoring for record keeping, and cross-validation forverification.

FIG. 14 illustrates a method 1400 for transitioning card identifiers bya contactless card. Method 1400 may reference same or similar componentsas described above with respect to FIG. 13 .

At block 1410, the method may include providing a contactless card witha memory. The contactless card may include one or more processors andmemory. The memory may comprise a plurality of applets, including butnot limited to a first applet and a second applet. The first applet maybe in communication with the second applet.

At block 1420, the method may include generating a first list of a firstplurality of card identifiers. Each card identifier may be associatedwith a user account. In some examples, card identifiers may be generatedfrom a seed, such as a root seed, and one or more algorithms may beconfigured to project, based on the seed, the next or upcoming cardidentifiers that are to be cycled without storing those card identifiersso as to prevent unauthorized use or revelation of the card identifiersin advance.

At block 1430, the method may include cycling, by the first applet,through the first list and transmitting each of the first plurality ofcard identifiers from the first applet to the second applet.

At block 1440, the method may include detecting, by a clientapplication, one or more gestures by the contactless card. The clientapplication may comprise instructions for execution on a client device.The client application may be in communication with the contactlesscard. The client application may be in communication with one or moreservers.

At block 1450, the method may include reading, by the clientapplication, one or more of the first plurality of card identifiers fromthe second applet of the contactless card. For example, this may includetransitioning to one or more card identifiers by reading the secondapplet via one or more gestures. In some examples, one or more gesturesfrom the contactless card to the client application client device may beutilized to cycle between each of the card identifiers. For example, theone or more gestures may include one or more of a tap, swipe, wave,gesture, or any combination thereof. In other examples, rather thantapping and cycling multiple times, the user may be permitted to selectwhich card identifier to cycle to such that one or more of applets ofthe contactless card may be configured to cycle to the selected cardidentifier of a specified card. In some examples, a user with multiplecredit cards from an issuing institution may gesture the contactlesscard to a client device including but not limited to via a clientapplication of the client device, such that the gesture by thecontactless card to the client application of client device isconfigured to cycle from a first card identifier to a second cardidentifier, gesture again the contactless card to the client device tocycle from the second identifier to a third identifier, and gestureagain the contactless card to the client device to cycle from the thirdidentifier back to the first card identifier. In some examples, theplurality of card identifiers may include but not be limited to up totwenty card identifiers that are cycled through when transitioning fromone card identifier to another card identifier. Since devices, includingbut not limited to iOS® devices or client device, support restricted orone-directional reading from NFC targets, the first applet may beconfigured to perform one or more actions when the NFC read istriggered.

At block 1460, the method may include transmitting, by the clientapplication, a verification request associated with to one or more readcard identifiers to a server. The server may comprise a memorycontaining a second list including a second plurality of cardidentifiers. In some examples, one or more requests may be associatedwith verification of the one or more card identifiers. Upon the one ormore gestures by the contactless card to the client application ofclient device, a client application of the client device may beconfigured to look up one or more card identifiers in one or moreservers in order to verify these card identifiers, as explained below.For example, one or more requests may be transmitted by the clientapplication of client device to one or more servers to verify the one ormore read card identifiers of the first list. In response to thedetection of one or more gestures by the contactless card, the clientapplication may be configured to read one or more of the first pluralityof card identifiers from the second applet of the contactless card andtransmit a verification request associated with the one or more readcard identifiers to the one or more servers.

At block 1470, the method may include evaluating the one or more readcard identifiers from the first list to one or more card identifiersfrom the second list and generating a verification determination basedon the evaluation. The one or more servers may be in data communicationwith the client device. The one or more servers may be configured toperform one or more processes to verify one or more of the cardidentifiers of the first list. The one or more servers may include asecond list of a plurality of identifiers. For example, the one or moreservers may be configured to receive one or more requests from a clientdevice to verify the one or more card identifiers of the first listagainst one or more identifiers of the second list. For example, the oneor more servers may be configured to receive one or more requests from aclient device to verify the one or more card identifiers of the firstlist against one or more identifiers of the second list. In someexamples, the one or more servers may be configured to compare the oneor more read card identifiers from the first list to one or more cardidentifiers from the second list and generate a verificationdetermination.

At block 1480, the method may include transmitting one or more responsesbased on the determination. Responsive to the one or more requests fromthe client device, the one or more servers may be configured to transmitone or more responses to the client device. The one or more responses tothe client device may include information indicative of verification ofthe one or more card identifiers. In some examples, the verificationdetermination may be transmitted to the client application of the clientdevice. For example, the one or more responses may be based on adetermination of the comparison by the one or more servers. In someexamples, the determination may yield a successful match of theidentifiers between the first and second lists. In other examples, thedetermination may yield an unsuccessful match of the identifiers betweenthe first and second lists. The one or more responses transmitted fromthe one or more servers to the client device may include otherinformation including but not limited to card artwork, card information,transaction information, and account information. In some examples, thecard information may comprise expiration date and CVV information. Insome examples, the information may include interest rate values, paymentdue dates, rewards earning rates and associated categories, and/orrewards balances. For example, the one or more servers may be configuredto determine the next card identifier for cycling of the cardidentifiers based on the list or table.

In some examples, cycling between each of the card identifiers may bepredetermined so as to keep the identifier on the card and theidentifier displayed on the client device, via client application, insync. For example, the cycling may be structured in an ordered sequenceor list, and when one or more of the applets is read by the clientapplication of client device, it may be configured to automaticallyiterate to the next identifier in the ordered sequence or list.Alternatively, it may be configured to automatically cycle back to thefirst identifier of the ordered sequence or list if it reaches the endof the ordered sequence or list. Client application of client device maybe configured to recognize what the card identifier was set to such thatclient device may display, via an interface, the card identifier it wasthen set to by one or more reads. As explained above, since this is apredictable sequence, client application of client device may beconfigured to instruct the user to gesture again the contactless card tocycle to a particular card identifier. By way of example, since thecontactless card and server need to be kept in sync for authorization ofthe transaction, cycling between each of the card identifiers may beperformed in a predetermined manner. In some examples, the cyclingbetween each of the card identifiers may be performed in a predeterminedmanner that is sequential. In other examples, the cycling between eachof the card identifiers may be performed in a predetermined manner thatis non-sequential. In yet other examples, the cycling between each ofthe card identifiers may be performed in a predetermined manner that issequential or non-sequential for a first set of card identifiers and/orsequential or non-sequential for a second set of card identifiers,and/or any combination thereof.

The one or more servers may be configured to determine if the nextidentifier from the second list during cycling matches with the expectedidentifier from the first list of the contactless card. In someexamples, the one or more servers may be configured to evaluate whethercard identifiers have been stolen or misused. To the extent that theexpected identifier and the compared identifier do not match, thisactivity may be flagged as fraudulent activity. Responsive todetermination of the fraudulent activity, the one or more servers may beconfigured to provide one or more notifications to the client device orother devices so as to initiate or take one or more actions to rectifythe problems. Data associated with the one or more actions for thefraudulent activity may be kept in the one or more servers for securitypurposes, including but not limited to monitoring for record keeping,and cross-validation for verification.

At block 1490, the method may include authenticating the contactlesscard based on the one or more responses. In some examples, the methodmay include authenticating the contactless card based on theverification determination. The one or more servers may be configured toauthenticate the contactless card based on the verificationdetermination and transmit the verification determination to the clientapplication of client device.

In some examples, the present disclosure refers to a tap of thecontactless card. However, it is understood that the present disclosureis not limited to a tap, and that the present disclosure includes othergestures (e.g., a wave or other movement of the card).

Throughout the specification and the claims, the following terms take atleast the meanings explicitly associated herein, unless the contextclearly dictates otherwise. The term “or” is intended to mean aninclusive “or.” Further, the terms “a,” “an,” and “the” are intended tomean one or more unless specified otherwise or clear from the context tobe directed to a singular form.

In this description, numerous specific details have been set forth. Itis to be understood, however, that implementations of the disclosedtechnology may be practiced without these specific details. In otherinstances, well-known methods, structures and techniques have not beenshown in detail in order not to obscure an understanding of thisdescription. References to “some examples,” “other examples,” “oneexample,” “an example,” “various examples,” “one embodiment,” “anembodiment,” “some embodiments,” “example embodiment,” “variousembodiments,” “one implementation,” “an implementation,” “exampleimplementation,” “various implementations,” “some implementations,”etc., indicate that the implementation(s) of the disclosed technology sodescribed may include a particular feature, structure, orcharacteristic, but not every implementation necessarily includes theparticular feature, structure, or characteristic. Further, repeated useof the phrases “in one example,” “in one embodiment,” or “in oneimplementation” does not necessarily refer to the same example,embodiment, or implementation, although it may.

As used herein, unless otherwise specified the use of the ordinaladjectives “first,” “second,” “third,” etc., to describe a commonobject, merely indicate that different instances of like objects arebeing referred to, and are not intended to imply that the objects sodescribed must be in a given sequence, either temporally, spatially, inranking, or in any other manner.

While certain implementations of the disclosed technology have beendescribed in connection with what is presently considered to be the mostpractical and various implementations, it is to be understood that thedisclosed technology is not to be limited to the disclosedimplementations, but on the contrary, is intended to cover variousmodifications and equivalent arrangements included within the scope ofthe appended claims. Although specific terms are employed herein, theyare used in a generic and descriptive sense only and not for purposes oflimitation.

This written description uses examples to disclose certainimplementations of the disclosed technology, including the best mode,and also to enable any person skilled in the art to practice certainimplementations of the disclosed technology, including making and usingany devices or systems and performing any incorporated methods. Thepatentable scope of certain implementations of the disclosed technologyis defined in the claims, and may include other examples that occur tothose skilled in the art. Such other examples are intended to be withinthe scope of the claims if they have structural elements that do notdiffer from the literal language of the claims, or if they includeequivalent structural elements with insubstantial differences from theliteral language of the claims.

What is claimed is:
 1. An authentication system, comprising: acontactless card including a processor and a memory, wherein the memorycontains: a first plurality of card identifiers, a first applet, and asecond applet in data communication with a first applet, wherein thesecond applet: receives each of the first plurality of card identifiersthat are cycled by the first applet, and transmits, after one or moreentries into a communication field, the first plurality of cardidentifiers for verification, wherein the contactless card isauthenticated, after verification of the first plurality of cardidentifiers based on a comparison with a second plurality of cardidentifiers, and wherein each of the card identifiers from the firstplurality of card identifiers and the second plurality of cardidentifiers are cycled in a sequential manner.
 2. The authenticationsystem of claim 1, wherein a first card identifier from the firstplurality of card identifiers is cycled to a second card identifier fromthe first plurality of card identifiers upon detection of a first entryinto the communication field.
 3. The authentication system of claim 2,wherein the second card identifier from the first plurality of cardidentifiers is cycled to a third card identifier from the firstplurality of card identifiers upon detection of a second entry into thecommunication field.
 4. The authentication system of claim 3, whereinthe third card identifier from the first plurality of card identifiersis cycled to the first card identifier from the first plurality of cardidentifiers upon detection of a third entry into the communicationfield.
 5. The authentication system of claim 1, wherein the firstplurality of card identifiers are generated from a seed using one ormore algorithms.
 6. The authentication system of claim 1, wherein eachentry into the communication field is associated with a read of a nearfield data exchange format (NDEF) tag.
 7. The authentication system ofclaim 1, wherein a first set of the first plurality of card identifiersare cycled in a sequential manner and a second set of the firstplurality of card identifiers are cycled in a non-sequential manner. 8.The authentication system of claim 1, wherein at least one cardidentifier from the first plurality of card identifiers is cycled backto another card identifier from the first plurality of card identifiersafter cycling through each of the card identifiers from the firstplurality of card identifiers.
 9. The authentication system of claim 8,wherein the at least one card identifier is cycled back to another cardidentifier upon detection of one or more entries into the communicationfield.
 10. The authentication system of claim 8, wherein the at leastone card identifier and another card identifier are part of a sequence.11. A method of authentication, the method comprising the steps of:generating, by a first applet of a contactless card, a first pluralityof card identifiers; transitioning, by the first applet, through thefirst plurality of card identifiers; receiving, from the first applet toa second applet, each of the first plurality of card identifiers;transmitting, by the second applet and after one or more entries into acommunication field, the first plurality of card identifiers forverification; and authenticating, after verification of the firstplurality of card identifiers based on a comparison with a secondplurality of card identifiers, the contactless card, wherein each of thecard identifiers from the first plurality of card identifiers and thesecond plurality of card identifiers are transitioned in a sequentialmanner.
 12. The method of authentication of claim 11, further comprisingtransitioning from a first card identifier from the first plurality ofcard identifiers to a second card identifier from the first plurality ofcard identifiers upon detection of a first entry into the communicationfield.
 13. The method authentication of claim 12, further comprisingtransitioning from the second card identifier from the first pluralityof card identifiers to a third card identifier from the first pluralityof card identifiers upon detection of a second entry into thecommunication field.
 14. The method of authentication of claim 13,further comprising transitioning from the third card identifier from thefirst plurality of card identifiers to the first card identifier fromthe first plurality of card identifiers upon detection of a third entryinto the communication field.
 15. The method of authentication of claim11, further comprising generating, from a seed using one or morealgorithms, the first plurality of card identifiers.
 16. The method ofauthentication claim 11, wherein each entry is associated with a read ofa near field data exchange format (NDEF) tag.
 17. The method ofauthentication of claim 11, further comprising transitioning a first setof the first plurality of card identifiers in a sequential manner and asecond set of the first plurality of card identifiers in anon-sequential manner.
 18. The method of authentication of claim 11,further comprising transitioning at least one card identifier from thefirst plurality of card identifiers back to another card identifier fromthe first plurality of card identifiers after transitioning through eachof the card identifiers from the first plurality of card identifiers.19. The method of authentication of claim 11, wherein the at least onecard identifier is transitioned back to another card identifier upondetection of one or more entries into the communication field.
 20. Anon-transitory computer readable medium comprising computer executableinstructions that, upon execution by a processor, perform procedurescomprising: generating a first plurality of card identifiers; cyclingthrough the first plurality of card identifiers; and transmitting, afterone or more entries into a communication field, the first plurality ofcard identifiers for verification.